def test_get_resolution_no_client_width(self): # mobiles get the smallest resolution, others the biggest self.assertEqual( get_resolution(None, 1, [480, 768, 922], True), 480) self.assertEqual( get_resolution(None, 1, [480, 768, 922], False), 922) return
def test_get_resolution_pixel_density_eq_1(self): # get the next biggest value from resolution list self.assertEqual( get_resolution(480, 1, [480, 768, 922]), 480) self.assertEqual( get_resolution(512, 1, [480, 768, 922]), 768) self.assertEqual( get_resolution(800, 1, [480, 768, 922]), 922) self.assertEqual( get_resolution(1000, 1, [480, 768, 922]), 1000) return
def test_get_resolution_pixel_density_ne_1(self): # with a pixel density > 1 we need larger images self.assertEqual( # 2 x 480 get_resolution(480, 2, [480, 768, 922]), 960) self.assertEqual( # 2 x 768 get_resolution(512, 2, [480, 768, 922]), 1536) self.assertEqual( # 2 x 922 get_resolution(800, 2, [480, 768, 922]), 1844) self.assertEqual( # 2 x 922 get_resolution(1000, 2, [480, 768, 922]), 2000) self.assertEqual( # > 2 x 922 get_resolution(2000, 2, [480, 768, 922]), 4000) return
def get_resolution(self, request): """Determine a desired resolution from client screen resolution and avaiilable resolutions. """ client_resolution = self.get_client_resolution(request) is_mobile = self.is_mobile(request) return get_resolution( client_resolution, 1, self.resolutions, is_mobile)