| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 1 | # Testing rgbimg module | 
 | 2 |  | 
| Guido van Rossum | de554ec | 1997-05-08 23:14:57 +0000 | [diff] [blame] | 3 | import rgbimg, os, uu | 
 | 4 |  | 
| Guido van Rossum | e03c050 | 1998-08-12 02:38:11 +0000 | [diff] [blame] | 5 | from test_support import verbose, unlink, findfile | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 6 |  | 
 | 7 | error = 'test_rgbimg.error' | 
 | 8 |  | 
 | 9 | print 'RGBimg test suite:' | 
 | 10 |  | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 11 | def testimg(rgb_file, raw_file): | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 12 |         rgb_file = findfile(rgb_file) | 
 | 13 |         raw_file = findfile(raw_file) | 
 | 14 |         width, height = rgbimg.sizeofimage(rgb_file) | 
 | 15 |         rgb = rgbimg.longimagedata(rgb_file) | 
 | 16 |         if len(rgb) != width * height * 4: | 
 | 17 |                 raise error, 'bad image length' | 
 | 18 |         raw = open(raw_file, 'rb').read() | 
 | 19 |         if rgb != raw: | 
 | 20 |                 raise error, \ | 
 | 21 |                       'images don\'t match for '+rgb_file+' and '+raw_file | 
 | 22 |         for depth in [1, 3, 4]: | 
 | 23 |                 rgbimg.longstoimage(rgb, width, height, depth, '@.rgb') | 
 | 24 |         os.unlink('@.rgb') | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 25 |  | 
| Guido van Rossum | de554ec | 1997-05-08 23:14:57 +0000 | [diff] [blame] | 26 | table = [ | 
 | 27 |     ('testrgb.uue', 'test.rgb'), | 
 | 28 |     ('testimg.uue', 'test.rawimg'), | 
 | 29 |     ('testimgr.uue', 'test.rawimg.rev'), | 
 | 30 |     ] | 
 | 31 | for source, target in table: | 
 | 32 |     source = findfile(source) | 
 | 33 |     target = findfile(target) | 
 | 34 |     if verbose: | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 35 |         print "uudecoding", source, "->", target, "..." | 
| Guido van Rossum | de554ec | 1997-05-08 23:14:57 +0000 | [diff] [blame] | 36 |     uu.decode(source, target) | 
 | 37 |  | 
 | 38 | if verbose: | 
 | 39 |     print "testing..." | 
 | 40 |  | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 41 | ttob = rgbimg.ttob(0) | 
 | 42 | if ttob != 0: | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 43 |         raise error, 'ttob should start out as zero' | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 44 |  | 
 | 45 | testimg('test.rgb', 'test.rawimg') | 
 | 46 |  | 
 | 47 | ttob = rgbimg.ttob(1) | 
 | 48 | if ttob != 0: | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 49 |         raise error, 'ttob should be zero' | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 50 |  | 
 | 51 | testimg('test.rgb', 'test.rawimg.rev') | 
 | 52 |  | 
 | 53 | ttob = rgbimg.ttob(0) | 
 | 54 | if ttob != 1: | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 55 |         raise error, 'ttob should be one' | 
| Guido van Rossum | 5c97167 | 1996-07-22 15:23:25 +0000 | [diff] [blame] | 56 |  | 
 | 57 | ttob = rgbimg.ttob(0) | 
 | 58 | if ttob != 0: | 
| Guido van Rossum | 548703a | 1998-03-26 22:14:20 +0000 | [diff] [blame] | 59 |         raise error, 'ttob should be zero' | 
| Guido van Rossum | de554ec | 1997-05-08 23:14:57 +0000 | [diff] [blame] | 60 |  | 
 | 61 | for source, target in table: | 
 | 62 |     unlink(findfile(target)) |