Пример #1
0
 def test_exceptions(self):
     info = self._get_info_long_y()
     rp = RegionParameter('pct:25,25,75,75', info)
     with self.assertRaises(SyntaxException):
         SizeParameter('!25,', rp)
     with self.assertRaises(SyntaxException):
         SizeParameter('!25', rp)
     with self.assertRaises(SyntaxException):
         SizeParameter('25', rp)
Пример #2
0
 def test_zero_width_or_height_is_rejected(self):
     info = build_image_info()
     rp = RegionParameter('full', info)
     with pytest.raises(RequestException):
         SizeParameter('0,', rp)
     with pytest.raises(RequestException):
         SizeParameter(',0', rp)
     with pytest.raises(RequestException):
         SizeParameter('0,0', rp)
Пример #3
0
 def test_exceptions(self):
     info = self._get_info_long_y()
     rp = RegionParameter('pct:25,25,75,75', info)
     try:
         with self.assertRaises(SyntaxException):
             SizeParameter('!25,', rp)
         with self.assertRaises(SyntaxException):
             SizeParameter('!25', rp)
         with self.assertRaises(SyntaxException):
             SizeParameter('25', rp)
     except TypeError:  # python < 2.7
         self.assertRaises(SyntaxException, SizeParameter, '!25,', rp)
         self.assertRaises(SyntaxException, SizeParameter, '!25', rp)
         self.assertRaises(SyntaxException, SizeParameter, '25', rp)
Пример #4
0
    def test_populate_slots_from_full(self):
        # full
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter('full', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, FULL_MODE)
        self.assertEquals(sp.canonical_uri_value, FULL_MODE)

        rp = RegionParameter('256,256,256,256', info)
        sp = SizeParameter('full', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, FULL_MODE)
        self.assertEquals(sp.canonical_uri_value, FULL_MODE)
Пример #5
0
    def test_populate_slots_from_wh(self):
        # w,h
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter('48,48', rp)
        self.assertEquals(sp.force_aspect, True)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '48,48')

        rp = RegionParameter('15,16,23,42', info)
        sp = SizeParameter('60,60', rp)  # upsample!
        self.assertEquals(sp.force_aspect, True)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '60,60')
Пример #6
0
    def test_populate_slots_from_w_only(self):
        # w,
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter('180,', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '180,')

        rp = RegionParameter('200,300,500,600', info)
        sp = SizeParameter('125,', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '125,')
Пример #7
0
    def test_populate_slots_from_h_only(self):
        # ,h
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter(',90', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '73,')

        rp = RegionParameter('50,290,360,910', info)
        sp = SizeParameter(',275', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '108,')
Пример #8
0
 def test_parsing_parameter_either_passes_or_is_exception(self, uri_value):
     info = build_image_info()
     rp = RegionParameter('full', info)
     try:
         SizeParameter(uri_value, rp)
     except (RequestException, SyntaxException):
         pass
Пример #9
0
 def test_tiny_image(self):
     info = self._get_info_long_x()
     rp = RegionParameter('full', info)
     sp = SizeParameter('1,', rp)
     self.assertEquals(sp.force_aspect, False)
     self.assertEquals(sp.mode, PIXEL_MODE)
     self.assertEquals(sp.canonical_uri_value, '1,')
     self.assertEquals(sp.w, 1)
     self.assertEquals(sp.h, 1)
Пример #10
0
    def test_populate_slots_from_pct(self):
        # pct:n
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter('pct:25', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PCT_MODE)
        self.assertEquals(sp.canonical_uri_value, '1476,')

        rp = RegionParameter('256,256,256,256', info)
        sp = SizeParameter('pct:25', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PCT_MODE)
        self.assertEquals(sp.canonical_uri_value, '64,')

        rp = RegionParameter('pct:0,0,50,50', info)
        sp = SizeParameter('pct:25', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PCT_MODE)
        self.assertEquals(sp.canonical_uri_value, '738,')
Пример #11
0
 def test_str_representation(self):
     info = build_image_info()
     rp = RegionParameter('full', info)
     for uri_value in [
             'full',
             'pct:50',
             '50,',
             ',50',
             '!50,50',
     ]:
         sp = SizeParameter(uri_value, rp)
         self.assertEquals(str(sp), uri_value)
Пример #12
0
    def test_populate_slots_from_bang_wh(self):
        # !w,h
        info = self._get_info_long_y()

        rp = RegionParameter('full', info)
        sp = SizeParameter('!120,140', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '114,')

        rp = RegionParameter('0,0,125,160', info)
        sp = SizeParameter(
            '!120,140',
            rp,
        )
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '109,')

        rp = RegionParameter('0,0,125,160', info)
        sp = SizeParameter('!130,140', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '109,')

        rp = RegionParameter('50,80,140,160', info)
        sp = SizeParameter('!130,180', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '130,')

        rp = RegionParameter('50,80,140,160', info)
        sp = SizeParameter('!145,165', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '144,')

        rp = RegionParameter('50,80,140,180', info)
        sp = SizeParameter('!145,185', rp)
        self.assertEquals(sp.force_aspect, False)
        self.assertEquals(sp.mode, PIXEL_MODE)
        self.assertEquals(sp.canonical_uri_value, '143,')
Пример #13
0
 def size_param(self, image_info):
     return SizeParameter(
         uri_value=self.size_value,
         region_parameter=self.region_param(image_info)
     )
Пример #14
0
 def size_param(self):
     if self._size_param is None:
         self._size_param = SizeParameter(self.size_value, self.region_param)
     return self._size_param
Пример #15
0
 def test_very_small_percentage_height_is_positive(self):
     info = build_image_info(width=100, height=1)
     rp = RegionParameter('full', info)
     sp = SizeParameter('pct:50', rp)
     self.assertEquals(sp.h, 1)
Пример #16
0
 def test_decimal_percentage_is_allowed(self):
     info = build_image_info(width=400, height=200)
     rp = RegionParameter('full', info)
     sp = SizeParameter('pct:6.25', rp)
     self.assertEquals(sp.w, 25)
Пример #17
0
 def test_very_small_pixel_width_is_positive(self):
     info = build_image_info(width=1, height=100)
     rp = RegionParameter('full', info)
     sp = SizeParameter(',50', rp)
     self.assertEquals(sp.w, 1)
Пример #18
0
 def test_zero_or_negative_percentage_is_rejected(self):
     info = build_image_info(100, 100)
     rp = RegionParameter('full', info)
     with self.assertRaises(RequestException):
         SizeParameter('pct:0', rp)