from openpilot.system.ui.lib import application def test_raylib_target_fps_limits_mici(monkeypatch): monkeypatch.setattr(application, "OFFSCREEN", False) monkeypatch.setattr(application, "DEVICE_TYPE", "mici") assert application._raylib_target_fps(60) == 60 def test_raylib_target_fps_limits_other_devices(monkeypatch): monkeypatch.setattr(application, "OFFSCREEN", False) monkeypatch.setattr(application, "DEVICE_TYPE", "tici") assert application._raylib_target_fps(60) == 60 def test_raylib_target_fps_disables_limit_for_offscreen(monkeypatch): monkeypatch.setattr(application, "OFFSCREEN", True) monkeypatch.setattr(application, "DEVICE_TYPE", "tici") assert application._raylib_target_fps(60) == 0 def test_burn_in_shift_transitions_between_positions(monkeypatch): app = object.__new__(application.GuiApplication) app._burn_in_start_time = 100.0 monkeypatch.setattr(application, "BURN_IN_PREVENTION", True) monkeypatch.setattr(application, "BURN_IN_SHIFT_INTERVAL", 10.0) monkeypatch.setattr(application, "BURN_IN_SHIFT_PIXELS", 2) monkeypatch.setattr(application, "BURN_IN_SHIFT_TRANSITION_SECONDS", 2.0) assert app._burn_in_shift(108.0) == (0.0, 0.0) midpoint = app._burn_in_shift(109.0) assert midpoint == (-1.0, 0.0) assert app._burn_in_shift(110.0) == (-2.0, 0.0)