]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
.ci/test_font_tags.py add test_categories_exist
authorMarc Foley <m.foley.88@gmail.com>
Tue, 18 Mar 2025 10:49:36 +0000 (10:49 +0000)
committerMarc Foley <m.foley.88@gmail.com>
Tue, 18 Mar 2025 10:49:36 +0000 (10:49 +0000)
.ci/test_font_tags.py

index fcf17010d84c529c33ac198247d40f7ae38a5612..fb251d1ba9851384f5ed043c58fb2d6264eba8ef 100644 (file)
@@ -28,6 +28,12 @@ def family_tags():
     return res
 
 
+@pytest.fixture
+def tags_metadata():
+    data = urlopen("https://raw.githubusercontent.com/google/fonts/main/tags/tags_metadata.csv").read().decode("utf-8")
+    return data.splitlines()
+
+
 def test_families_missing_tags(family_tags, family_metadata):
     tagged_families = set(f[0] for f in family_tags)
     families_in_gf = set(f["family"] for f in family_metadata)
@@ -42,6 +48,16 @@ def test_families_missing_tags(family_tags, family_metadata):
     )
 
 
+def test_categories_exist(family_tags, tags_metadata):
+    """Every tag category in the families.csv file must also exist in the
+    tags_metadata.csv file
+    """
+    tags_meta = set(tags_metadata)
+    families = set(cat for _, cat, _ in family_tags)
+    missing = families - tags_meta
+    assert not missing, f"Missing categories: {missing}"
+
+
 def test_no_duplicate_families(family_tags):
     seen = set()
     dups = []