aboutsummaryrefslogtreecommitdiff
path: root/scripts/theme-studio/test_generate.py
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/theme-studio/test_generate.py')
-rw-r--r--scripts/theme-studio/test_generate.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/scripts/theme-studio/test_generate.py b/scripts/theme-studio/test_generate.py
index 6e9676b4a..40956917e 100644
--- a/scripts/theme-studio/test_generate.py
+++ b/scripts/theme-studio/test_generate.py
@@ -177,6 +177,20 @@ class LanguageSamples(unittest.TestCase):
self.assertIn("@import", text)
self.assertIn("error.MissingColor", text)
+ def test_expanded_language_set_is_registered_and_renders(self):
+ # Every added language is selectable and renders a non-trivial sample that
+ # exercises keywords and carries a comment.
+ added = ["Racket", "Scheme", "Haskell", "OCaml", "Scala", "Kotlin",
+ "Swift", "Lua", "Ruby", "Perl", "R", "Erlang", "SQL", "PHP",
+ "Ada", "Fortran", "MATLAB", "Assembly"]
+ for lang in added:
+ self.assertIn(lang, generate.SAMPLES, f"{lang} not in the language selector")
+ tokens = self._tokens(lang)
+ cats = {k for k, _ in tokens}
+ self.assertGreater(len(tokens), 40, f"{lang} sample is too short")
+ self.assertIn("kw", cats, f"{lang} sample has no keywords")
+ self.assertIn("cmd", cats, f"{lang} sample has no comment")
+
class FacesHelper(unittest.TestCase):
def test_strips_prefix_and_derives_label_and_merges_seed(self):