Ejemplo n.º 1
0
class ShouldAdaptTests(unittest.TestCase):
    # tests for ImageAdaptingMiddleware.should_adapt

    def setUp(self):
        self.middleware = ImageAdaptingMiddleware(None, {})

    def test_no_content_type(self):
        # docs w/o content type should not be adapted
        request = Request.blank("http://localhost/test.html")
        response = request.get_response(wsgi_app_no_content_type)
        self.assertEqual(self.middleware.should_adapt(response), False)
        return

    def test_jpeg_content_type(self):
        # image/jpeg docs are adapted
        request = Request.blank("http://localhost/test.html")
        response = request.get_response(wsgi_app_img_jpg)
        self.assertEqual(self.middleware.should_adapt(response), True)
        return

    def test_gif_content_type(self):
        # image/gif docs are adapted
        request = Request.blank("http://localhost/test.html")
        response = request.get_response(wsgi_app_img_gif)
        self.assertEqual(self.middleware.should_adapt(response), True)
        return

    def test_png_content_type(self):
        # image/png docs are adapted
        request = Request.blank("http://localhost/test.html")
        response = request.get_response(wsgi_app_img_png)
        self.assertEqual(self.middleware.should_adapt(response), True)
        return
Ejemplo n.º 2
0
class GetClientResolutionTests(unittest.TestCase):
    # tests for ImageAdaptingMiddleware.get_client_resolution

    def setUp(self):
        self.request = Request.blank("http://localhost/test.html")
        self.middleware = ImageAdaptingMiddleware(None, {})
        return

    def test_no_cookie(self):
        # w/o cookie -> no resolution
        self.assertEqual(self.middleware.get_client_resolution(self.request), None)
        return

    def test_no_cookie_with_resolution_key(self):
        # we need a cookie named 'resolution' to get a resolution
        self.request.headers["Cookie"] = "foo=bar; $Path=/"
        self.assertEqual(self.middleware.get_client_resolution(self.request), None)
        return

    def test_resolution_not_an_integer(self):
        # resolution cookie must contain some integer
        self.request.headers["Cookie"] = "resolution=not-a-number; $Path=/"
        self.assertEqual(self.middleware.get_client_resolution(self.request), None)
        return

    def test_resolution(self):
        # integers can be extracted from the resolution cookie
        self.request.headers["Cookie"] = "resolution=1024; $Path=/"
        self.assertEqual(self.middleware.get_client_resolution(self.request), 1024)
        return
Ejemplo n.º 3
0
class ShouldIgnoreTests(unittest.TestCase):
    # tests for ImageAdaptingMiddleware.should_ignore

    def setUp(self):
        self.middleware = ImageAdaptingMiddleware(None, {})
        return

    def test_resolution_okay(self):
        # resolution values >= 1 are okay
        self.assertEqual(self.middleware.should_ignore(None, 123), False)
        return

    def test_resolution_too_small(self):
        # resolution values < 1 are not okay
        self.assertEqual(self.middleware.should_ignore(None, -12), True)
        return

    def test_resolution_none(self):
        # unset resolution values should be ignored
        self.assertEqual(self.middleware.should_ignore(None, None), True)
        return
Ejemplo n.º 4
0
class IsMobileTests(unittest.TestCase):
    # tests for ImageAdaptingMiddleware.is_mobile()

    def setUp(self):
        self.middleware = ImageAdaptingMiddleware(None, {})
        self.request = Request.blank("http://localhost/test.html")

    def test_no_infos(self):
        # w/o any infos we assume a request comes from non-mobile
        self.assertEqual(False, self.middleware.is_mobile(self.request))
        return

    def test_non_mobile(self):
        # we can detect non-mobiles clients
        self.request.headers["HTTP_USER_AGENT"] = "amaya/9.51 libwww/5.4.0"
        self.assertEqual(False, self.middleware.is_mobile(self.request))
        return

    def test_is_mobile(self):
        # we can detect mobile devices
        self.request.headers["HTTP_USER_AGENT"] = "BlackBerry7730/3.7.1 UP.Link/5.1.2.5"
        self.assertEqual(True, self.middleware.is_mobile(self.request))
        return
Ejemplo n.º 5
0
 def setUp(self):
     self.middleware = ImageAdaptingMiddleware(None, {})
     self.request = Request.blank("http://localhost/test.html")
Ejemplo n.º 6
0
 def setUp(self):
     self.middleware = ImageAdaptingMiddleware(None, {})