コード例 #1
0
    def test_bottom_right_position_with_vertical_watermark(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(
                **{
                    'image': 'watermark_vertical.png',
                    'size': 0.5,
                    'position': 'bottom_right'
                })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_bottom_right_position')(image_jpg)
            self.assertTupleEqual((35, 250), image.size)
            self.assertEqual(965, left)
            self.assertEqual(250, upper)

            watermark_filter = WatermarkFilter(
                **{
                    'image': 'watermark_vertical.png',
                    'size': 0.25,
                    'position': 'bottom_right'
                })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_bottom_right_position')(image_jpg)
            self.assertTupleEqual((17, 125), image.size)
            self.assertEqual(983, left)
            self.assertEqual(375, upper)
コード例 #2
0
    def test_center_position_with_vertical_watermark(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(
                **{
                    'image': 'watermark_vertical.png',
                    'size': 0.5,
                    'position': 'center'
                })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_center_position')(image_jpg)
            self.assertTupleEqual((35, 250), image.size)
            self.assertEqual(483, left)
            self.assertEqual(125, upper)

            watermark_filter = WatermarkFilter(
                **{
                    'image': 'watermark_vertical.png',
                    'size': 0.25,
                    'position': 'center'
                })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_center_position')(image_jpg)
            self.assertTupleEqual((17, 125), image.size)
            self.assertEqual(492, left)
            self.assertEqual(188, upper)
コード例 #3
0
    def test_bottom_right_position_with_horizontal_watermark(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 0.5,
                'position': 'bottom_right'
            })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_bottom_right_position')(image_jpg)
            self.assertTupleEqual((500, 70), image.size)
            self.assertEqual(500, left)
            self.assertEqual(430, upper)

            watermark_filter = WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 0.25,
                'position': 'bottom_right'
            })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_bottom_right_position')(image_jpg)
            self.assertTupleEqual((250, 35), image.size)
            self.assertEqual(750, left)
            self.assertEqual(465, upper)
コード例 #4
0
    def test_center_position_with_horizontal_watermark(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 0.5,
                'position': 'center'
            })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_center_position')(image_jpg)
            self.assertTupleEqual((500, 70), image.size)
            self.assertEqual(250, left)
            self.assertEqual(215, upper)

            watermark_filter = WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 0.25,
                'position': 'center'
            })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_center_position')(image_jpg)
            self.assertTupleEqual((250, 35), image.size)
            self.assertEqual(375, left)
            self.assertEqual(233, upper)
コード例 #5
0
 def test_wrong_resource_type(self):
     with self.app.app_context():
         watermark_filter = WatermarkFilter(**{
             'image': 'file.png',
             'size': 0.5,
             'position': 'center'
         })
         with self.assertRaises(ValueError):
             watermark_filter.apply('string')
コード例 #6
0
 def test_wrong_watermark_path(self):
     with self.app.app_context():
         watermark_filter = WatermarkFilter(**{
             'image': 'file.png',
             'size': 0.5,
             'position': 'center'
         })
         image_jpg = copy(self.image_png)
         with self.assertRaises(ValueError):
             watermark_filter.apply(image_jpg)
コード例 #7
0
    def test_watermark_non_rgb(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(**{"image": "watermark_nonrgb.tif", "size": 0.5, "position": "top_left"})
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter, "_top_left_position")(image_jpg)
            self.assertTupleEqual((500, 70), image.size)
            self.assertEqual(0, left)
            self.assertEqual(0, upper)

            image_jpg = watermark_filter.apply(image_jpg)
            self.assertTupleEqual((1000, 500), image_jpg.size)
コード例 #8
0
    def test_watermark_non_rgb(self):
        with self.app.app_context():
            watermark_filter = WatermarkFilter(
                **{
                    'image': 'watermark_nonrgb.tif',
                    'size': 0.5,
                    'position': 'top_left'
                })
            image_jpg = copy(self.image_png)
            image, left, upper = getattr(watermark_filter,
                                         '_top_left_position')(image_jpg)
            self.assertTupleEqual((500, 70), image.size)
            self.assertEqual(0, left)
            self.assertEqual(0, upper)

            image_jpg = watermark_filter.apply(image_jpg)
            self.assertTupleEqual((1000, 500), image_jpg.size)
コード例 #9
0
    def test_wrong_init_parameters(self):
        with self.assertRaises(ValueError):
            WatermarkFilter(**{})

        with self.assertRaises(ValueError):
            WatermarkFilter(**{'image': 1})

        with self.assertRaises(ValueError):
            WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 'string',
                'position': 'center'
            })

        with self.assertRaises(ValueError):
            WatermarkFilter(**{
                'image': 'watermark.png',
                'size': 0.5,
                'position': 1
            })

        with self.assertRaises(ValueError):
            WatermarkFilter(**{'image': 'watermark.png', 'size': 0.5})

        with self.assertRaises(ValueError):
            WatermarkFilter(
                **{
                    'image': 'watermark.png',
                    'size': 0.5,
                    'position': 'center',
                    'opacity': 'string'
                })

        with self.assertRaises(ValueError):
            WatermarkFilter(
                **{
                    'image': 'watermark.png',
                    'size': 1.5,
                    'position': 'center',
                    'opacity': 'string'
                })

        with self.assertRaises(ValueError):
            WatermarkFilter(
                **{
                    'image': 'watermark.png',
                    'size': 0.5,
                    'position': 'center',
                    'opacity': 1.5
                })
コード例 #10
0
 def test_wrong_resource_type(self):
     with self.app.app_context():
         watermark_filter = WatermarkFilter(**{"image": "file.png", "size": 0.5, "position": "center"})
         with self.assertRaises(ValueError):
             watermark_filter.apply("string")
コード例 #11
0
 def test_wrong_watermark_path(self):
     with self.app.app_context():
         watermark_filter = WatermarkFilter(**{"image": "file.png", "size": 0.5, "position": "center"})
         image_jpg = copy(self.image_png)
         with self.assertRaises(ValueError):
             watermark_filter.apply(image_jpg)