Skip to content

Commit ed58e35

Browse files
committed
Test shared settings behavior migration
1 parent c86f2e6 commit ed58e35

1 file changed

Lines changed: 32 additions & 0 deletions

File tree

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import unittest
2+
from pathlib import Path
3+
4+
ROOT = Path(__file__).parents[1]
5+
QML = ROOT / "src/settings.qml"
6+
7+
8+
class SettingsBehaviorMigrationTests(unittest.TestCase):
9+
def test_controller_is_installed(self):
10+
text = QML.read_text(encoding="utf-8")
11+
self.assertIn("// SETTINGS_BEHAVIOR_CONTROLLER_V1", text)
12+
self.assertIn("id: settingsBehavior", text)
13+
14+
def test_generic_setters_delegate_to_controller(self):
15+
text = QML.read_text(encoding="utf-8")
16+
self.assertIn("settingsBehavior.setSettingValue(entry, value)", text)
17+
self.assertIn("settingsBehavior.setVirtualSelection(entry, index)", text)
18+
19+
def test_restart_policy_defaults_to_legacy_behavior(self):
20+
text = QML.read_text(encoding="utf-8")
21+
self.assertIn("entry.restartRequired === undefined ? true", text)
22+
self.assertIn("window.settings_restart_to_apply = true", text)
23+
24+
def test_legacy_controls_are_not_mass_rewritten(self):
25+
text = QML.read_text(encoding="utf-8")
26+
# Representative legacy direct writes intentionally remain in place.
27+
self.assertIn("settings.weight =", text)
28+
self.assertIn("settings.ftp =", text)
29+
30+
31+
if __name__ == "__main__":
32+
unittest.main()

0 commit comments

Comments
 (0)