]> git.ipfire.org Git - thirdparty/google/fonts.git/commitdiff
Add test for proto wellformedness (no missing required fields)
authorSimon Cozens <simon@simon-cozens.org>
Wed, 16 Aug 2023 23:23:09 +0000 (00:23 +0100)
committerSimon Cozens <simon@simon-cozens.org>
Wed, 16 Aug 2023 23:27:21 +0000 (00:27 +0100)
tests/test_wellformed.py [new file with mode: 0644]

diff --git a/tests/test_wellformed.py b/tests/test_wellformed.py
new file mode 100644 (file)
index 0000000..ac0eafd
--- /dev/null
@@ -0,0 +1,19 @@
+import pytest
+from axisregistry import AxisRegistry
+from axisregistry.axes_pb2 import AxisProto
+
+registry = AxisRegistry()
+
+OPTIONAL_FIELDS = ["illustration_url", "is_parametric"]
+
+
+@pytest.mark.parametrize("axis_tag", registry.keys())
+def test_proto_wellformed(axis_tag):
+    axis = registry[axis_tag]
+    raw_fields = dict([(k.name, v) for k, v in axis.ListFields()])
+    for field in AxisProto.DESCRIPTOR.fields:
+        field_name = field.name
+        if field_name in OPTIONAL_FIELDS:
+            continue
+        assert field_name in raw_fields, field_name
+        assert raw_fields[field_name] is not None, field_name