import pickle import unittest from tests.test_glb_cache import app, gr class PreviewRequestHeaders(unittest.TestCase): def test_mobile_resolution_survives_request_serialization(self): for header in ("user-agent", "User-Agent"): request = gr.Request(headers={header: "Mozilla/5.0 (iPhone) Mobile"}) restored = pickle.loads(pickle.dumps(request)) self.assertEqual(app.get_preview_settings(restored), (True, 256, 15, 3)) def test_desktop_and_missing_requests_keep_desktop_resolution(self): request = gr.Request(headers={"user-agent": "Mozilla/5.0 (Macintosh)"}) self.assertEqual(app.get_preview_settings(request), (False, 384, 15, 3)) self.assertEqual(app.get_preview_settings(None), (False, 384, 15, 3))