Add mobile platform capability planning

This commit is contained in:
jwinterm
2026-07-05 20:53:12 -04:00
parent ba620e32ca
commit 6c209b6557
14 changed files with 353 additions and 28 deletions
+29
View File
@@ -0,0 +1,29 @@
from __future__ import annotations
import unittest
from ampbrowser.platforms import capability_for, normalize_platform
class PlatformsTest(unittest.TestCase):
def test_android_tor_is_managed_setup_capable(self) -> None:
capability = capability_for("tor", "android")
self.assertEqual("android", capability.platform)
self.assertEqual("planned", capability.manage)
self.assertTrue(capability.can_manage_setup)
def test_ios_tor_is_foreground_only(self) -> None:
capability = capability_for("tor", "ios")
self.assertEqual("foreground-only", capability.manage)
self.assertTrue(capability.can_manage_setup)
self.assertIn("foreground", capability.note)
def test_unknown_platform_is_rejected(self) -> None:
with self.assertRaises(ValueError):
normalize_platform("watch")
if __name__ == "__main__":
unittest.main()