From: Simon Cozens Date: Tue, 1 Nov 2022 21:32:02 +0000 (+0000) Subject: Ensure that when sample text is given, all fields are populated X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a48e70330ed0562abb790029ba621610f58011b2;p=thirdparty%2Fgoogle%2Ffonts.git Ensure that when sample text is given, all fields are populated --- diff --git a/tests/test_data_languages.py b/tests/test_data_languages.py index 0a244af7ef..f71aadaa3b 100644 --- a/tests/test_data_languages.py +++ b/tests/test_data_languages.py @@ -16,12 +16,11 @@ # import pytest from collections import Counter -from gflanguages import LoadLanguages +from gflanguages import LoadLanguages,languages_public_pb2 LANGUAGES = LoadLanguages() - @pytest.mark.parametrize("lang_code", LANGUAGES) @pytest.mark.parametrize( "exemplar_name", @@ -34,3 +33,19 @@ def test_languages_exemplars_duplicates(lang_code, exemplar_name): counts = sorted(counter.most_common(), key=lambda pair: exemplar.index(pair[0])) assert (counts == [(v, 1) for v in exemplar]) + + +SampleText = languages_public_pb2.SampleTextProto().DESCRIPTOR + +@pytest.mark.parametrize("lang_code", LANGUAGES.keys()) +def test_language_samples(lang_code): + # Although marked as optional in the protobuf file, all + # SampleText fields are required, so make sure they are + # present. + lang = LANGUAGES[lang_code] + if not lang.sample_text.ListFields(): + pytest.skip("No sample text for language " + lang_code) + return + + for field in SampleText.fields: + assert(getattr(lang.sample_text, field.name))