Пример #1
0
 def test_error_image_small_square(self):
   """Multiple errors, with a 128x128 image, outputs correctly."""
   img = Image.open('testdata/full-image-small-square-with-error.png')
   self.process_image(img)
   self.args.error_outfile = self.args.tmppng('error')
   self.create_output()
   self.assertTrue(self.err.has())
   errs = self.err.get()
   expect_errors = ['PaletteOverflowError @ block (1y,3x)',
                    'PaletteOverflowError @ tile (2y,10x)',
                    ('ColorNotAllowedError @ tile (4y,1x) and ' +
                     'pixel (1y,2x) - "ff,ff,00"')]
   actual_errors = ['%s %s' % (type(e).__name__, str(e)) for e in errs]
   self.assertEqual(actual_errors, expect_errors)
   renderer = view_renderer.ViewRenderer()
   renderer.create_error_view(self.args.error_outfile, img, errs)
   self.assert_file_eq(self.args.error_outfile,
                       'testdata/errors-full-image-small-square.png')
Пример #2
0
 def test_error_too_many_subsets(self):
     """If image colors cannot be merged into a valid palette, throw error."""
     img = Image.open('testdata/full-image-conflict.png')
     self.process_image(img)
     self.args.error_outfile = self.args.tmppng('error')
     self.assertTrue(self.err.has())
     es = self.err.get()
     expect_errors = [
         'PaletteTooManySubsets - valid: ' + '30-28-19-14,38-30-16-01\n' +
         'subsets that can\'t be merged: ' + '[30-0c-0b,31-30-04,34-30-07]'
     ]
     actual_errors = ['%s %s' % (type(e).__name__, str(e)) for e in es]
     self.assertEqual(actual_errors, expect_errors)
     expect_list_blocks = [[1, 4], [2, 4], [3, 4]]
     self.assertEqual(es[0].list_blocks, expect_list_blocks)
     renderer = view_renderer.ViewRenderer()
     renderer.create_error_view(self.args.error_outfile, img, es)
     self.assert_file_eq(self.args.error_outfile,
                         'testdata/errors-conflict-palette.png')
Пример #3
0
 def test_error_image(self):
     """Multiple errors, as an image."""
     img = Image.open('testdata/full-image-with-error.png')
     self.process_image(img)
     self.args.error_outfile = self.args.tmppng('error')
     self.create_output()
     self.assertTrue(self.err.has())
     errs = self.err.get()
     expect_errors = [
         'PaletteOverflowError @ block (1y,3x)',
         'PaletteOverflowError @ tile (2y,10x)',
         ('CouldntConvertRGB : R ff, G ff, B 00' +
          ' @ tile (4y,1x) / pixel (33y,10x)')
     ]
     actual_errors = ['%s %s' % (type(e).__name__, str(e)) for e in errs]
     self.assertEqual(actual_errors, expect_errors)
     renderer = view_renderer.ViewRenderer()
     renderer.create_error_view(self.args.error_outfile, img, errs)
     self.assert_file_eq(self.args.error_outfile,
                         'testdata/errors-full-image.png')