zapretgui/tests/test_profile_strategy_visuals.py
loop-uh 6c7152f58c
All checks were successful
Zapret source guards / validate (push) Successful in 4s
Сократить наборы иконок интерфейса
2026-08-14 23:11:49 +03:00

53 lines
2 KiB
Python

from __future__ import annotations
import unittest
from profile.strategy_visuals import describe_strategy_visual
class ProfileStrategyVisualTests(unittest.TestCase):
def test_detects_multiple_lua_desync_techniques_in_order(self) -> None:
visual = describe_strategy_visual(
"--out-range=-d8\n"
"--lua-desync=fake:blob=tls_max:badsum:repeats=8\n"
"--lua-desync=multidisorder:pos=1:seqovl=681\n"
)
self.assertEqual(visual.technique_keys, ("fake", "multidisorder"))
self.assertEqual(visual.label, "Fake + MultiDisorder")
self.assertEqual(visual.icon_name, "fa5s.magic")
self.assertEqual(visual.color, "#ff6b6b")
self.assertIn("Fake", visual.description)
self.assertIn("MultiDisorder", visual.description)
def test_ignores_non_strategy_options_for_visual_identity(self) -> None:
left = describe_strategy_visual("--out-range=-d8\n--lua-desync=multisplit:seqovl=652")
right = describe_strategy_visual("--payload=all\n--in-range=-n8\n--lua-desync=multisplit:seqovl=652")
self.assertEqual(left.technique_keys, right.technique_keys)
self.assertEqual(left.label, "MultiSplit")
def test_unknown_strategy_has_neutral_visual(self) -> None:
visual = describe_strategy_visual("--payload=all")
self.assertEqual(visual.technique_keys, ())
self.assertEqual(visual.label, "Своя")
self.assertEqual(visual.icon_name, "fa5s.question")
def test_strategy_icons_use_the_shipped_font_bundle(self) -> None:
samples = [
"--lua-desync=fake",
"--lua-desync=multisplit",
"--lua-desync=multidisorder",
"--lua-desync=syndata",
"--lua-desync=udplen",
]
for args in samples:
with self.subTest(args=args):
visual = describe_strategy_visual(args)
self.assertTrue(visual.icon_name.startswith("fa5s."))
if __name__ == "__main__":
unittest.main()