diff options
Diffstat (limited to 'tests/test_theme.py')
| -rw-r--r-- | tests/test_theme.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/test_theme.py b/tests/test_theme.py new file mode 100644 index 0000000..5f2f533 --- /dev/null +++ b/tests/test_theme.py @@ -0,0 +1,34 @@ +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) + +import unittest + +import deckit.theme as theme + +PALETTE = """* { + base: #24273aff; + text: #cad3f5ff; + surface0: #363a4fff; +}""" +ACCENT = "* { accent: #b7bdf8; }" + + +class Theme(unittest.TestCase): + def test_parses_palette(self): + self.assertEqual(theme.parse_palette(PALETTE), + {"base": "#24273aff", "text": "#cad3f5ff", "surface0": "#363a4fff"}) + + def test_parses_accent(self): + self.assertEqual(theme.parse_accent(ACCENT), "#b7bdf8") + self.assertIsNone(theme.parse_accent("nothing")) + + def test_css_exposes_vars_and_falls_back(self): + out = theme.css({"base": "#24273a"}, None) + self.assertIn("--udt-base: #24273a", out) + self.assertIn("--udt-accent:", out) # fallback accent + + +if __name__ == "__main__": + unittest.main() |
