def test_init_image_with_data_should_be_the_same(self): image_data = get_fixture('image1.data', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') ir.init_image() png_image = Image.open(StringIO(get_fixture('image1.png', as_binary=True))) self.assertEqual(ir.image, png_image)
def test_init_image_with_data_should_be_the_same(self): image_data = get_fixture('image1.data', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') ir.init_image() png_image = Image.open( BytesIO(get_fixture('image1.png', as_binary=True))) self.assertEqual(ir.image, png_image)
def test_export_docx_to_resized_images_images_with_same_id(self): docx_file_path = utils.get_fixture('cloned_images.docx') html_file_content = utils.get_fixture('cloned_images.html', as_binary=True) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images_images_width_and_height_as_pt(self): docx_file_path = utils.get_fixture('image_with_pt_dimensions.docx') html_file_content = utils.get_fixture('image_with_pt_dimensions.html', as_binary=True) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images_rotate_image(self): docx_file_path = utils.get_fixture('rotate_image.docx') html_file_content = utils.get_fixture('rotate_image.html', as_binary=True) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images(self): docx_file_path = utils.get_fixture( 'png_basic_resize_linked_photo.docx') html_file_content = utils.get_fixture( 'png_basic_resize_linked_photo.html', as_binary=True) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images(self): docx_file_path = utils.get_fixture('png_basic_resize_linked_photo.docx') html_file_content = utils.get_fixture( 'png_basic_resize_linked_photo.html', as_binary=True ) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images_rotate_image(self): docx_file_path = utils.get_fixture('rotate_image.docx') html_file_content = utils.get_fixture( 'rotate_image.html', as_binary=True ) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images_images_width_and_height_as_pt(self): docx_file_path = utils.get_fixture('image_with_pt_dimensions.docx') html_file_content = utils.get_fixture( 'image_with_pt_dimensions.html', as_binary=True ) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_export_docx_to_resized_images_images_with_same_id(self): docx_file_path = utils.get_fixture('cloned_images.docx') html_file_content = utils.get_fixture( 'cloned_images.html', as_binary=True ) html = self.exporter(docx_file_path).export() utils.assert_html_equal(html, html_file_content)
def test_height_as_pt_width_as_px(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '10.7pt', '20px') self.assertEqual(ir.width, 14) self.assertEqual(ir.height, 20) self.assertTrue(ir.has_height_and_width())
def test_update_filename_empty_filename(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, '.png', '48 px', '48 px') res = ir.update_filename() self.assertIsNone(res)
def test_update_filename_empty_filename(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, '', '48 px', '48 px') res = ir.update_filename() self.assertIsNone(res)
def test_get_image_data_and_filename(self): uri = 'http://httpbin.org/image/png' mock_request(uri, fixture='image1.png') img_data, filename = image.get_image_data_and_filename(uri, 'png.png') local_data = get_fixture('image1.png', as_binary=True) self.assertEqual(local_data, img_data) self.assertEqual(filename, 'png')
def test_resize_image_skip(self): image_data = get_fixture('image1.data', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '48 px', '48 px') ir.init_image() result = ir.resize_image() self.assertFalse(result)
def test_has_skipable_extension_true(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px', skip_extensions=['png']) self.assertTrue(ir.has_skippable_extension())
def test_get_image_from_src_url(self): uri = 'http://httpbin.org/image/png' mock_request(uri, fixture='image1.png') web_data = image.get_image_from_src(uri) local_data = get_fixture('image1.png', as_binary=True) self.assertEqual(web_data, local_data)
def test_update_filename(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '48 px', '48 px') ir.init_image() ir.update_filename() self.assertEqual(ir.filename, 'image1.png')
def test_update_filename_to_gif(self): image_data = get_fixture('image2.tif', as_binary=True) ir = ImageResizer(image_data, 'image2.tif', '48 px', '48 px') ir.init_image() ir.resize_image() ir.update_filename() self.assertEqual(ir.filename, 'image2.gif')
def test_resize_image_success(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '48 px', '48 px') ir.init_image() result = ir.resize_image() self.assertTrue(result) self.assertEqual(ir.image.size, (48, 48))
def test_has_skipable_extension_true(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer( image_data, 'image1.png', '100 px', '100 px', skip_extensions=['png'] ) self.assertTrue(ir.has_skippable_extension())
def test_resize_image_raise_exception(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '48 px', '48 px') ir.image = PilImageMock( size=(50, 50), on_resize_exception=IOError("Invalid image to resize"), on_save_exception=IOError("Invalid image to save")) with self.assertRaisesRegexp(IOError, "Invalid image to save"): ir.resize_image()
def test_resize_image_keep_original(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') ir.init_image() result = ir.resize_image() self.assertFalse(result) self.assertEqual(ir.image.size, (100, 100))
def test_resize_image_not_resized(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '48 px', '48 px') ir.init_image() # there may be cases when image is empty ir.image = None result = ir.resize_image() self.assertFalse(result)
def test_has_height_and_width_false(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '0 px', '10 px') self.assertFalse(ir.has_height_and_width()) ir = ImageResizer(image_data, 'image1.png', '10 px', '0 px') self.assertFalse(ir.has_height_and_width()) ir = ImageResizer(image_data, 'image1.png', '0 px', '0 px') self.assertFalse(ir.has_height_and_width()) ir = ImageResizer(image_data, 'image1.png', '', '') self.assertFalse(ir.has_height_and_width())
def test_resize_image_change_to_gif(self): image_data = get_fixture('image2.tif', as_binary=True) ir = ImageResizer(image_data, 'image2.tif', '50 px', '50 px') ir.init_image() result = ir.resize_image() self.assertTrue(result) self.assertEqual(ir.image_format, 'GIF') image = Image.open(StringIO(image_data)).resize( (50, 50), Image.ANTIALIAS ) self.assertEqual(image, ir.image) self.assertEqual('image2.tif', ir.filename)
def test_resize_image_change_to_gif(self): image_data = get_fixture('image2.tif', as_binary=True) ir = ImageResizer(image_data, 'image2.tif', '50 px', '50 px') ir.init_image() result = ir.resize_image() self.assertTrue(result) self.assertEqual(ir.image_format, 'GIF') image = Image.open(BytesIO(image_data)).resize((50, 50), Image.ANTIALIAS) self.assertEqual('image2.tif', ir.filename) # There are some issues while comparing 'dpi' value of image even thought the values # are the same. So, we just make sure we convert to float so that comparision pass OK. image.info['dpi'] = tuple(map(float, image.info['dpi'])) ir.image.info['dpi'] = tuple(map(float, ir.image.info['dpi'])) self.assertEqual(image, ir.image)
def test_invalid_dimention_error(self): image_data = get_fixture('image1.png', as_binary=True) with self.assertRaisesRegexp(ValueError, 'invalid literal for int()'): ImageResizer(image_data, 'image1.png', '0a px', '10b px')
def test_get_image_from_src_data(self): img_data = get_fixture('image1.data', as_binary=True) result = image.get_image_from_src(img_data) self.assertEqual(img_data, result)
def test_init_image(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') ir.init_image() self.assertEqual(ir.image, Image.open(BytesIO(image_data)))
def test_has_skipable_extension_invalid_filename(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, '', '100 px', '100 px') self.assertFalse(ir.has_skippable_extension())
def test_init_image(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') ir.init_image() self.assertEqual(ir.image, Image.open(StringIO(image_data)))
def test_init_object(self): image_data = get_fixture('image1.png', as_binary=True) ir = ImageResizer(image_data, 'image1.png', '100 px', '100 px') self.assertTrue(ir)