1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
import glob
import os
import pytest
import sys
from gflanguages import languages_public_pb2
from google.protobuf import text_format
if sys.version_info < (3, 10):
from importlib_resources import files
else:
from importlib.resources import files
languages_dir = files("gflanguages.data").joinpath("languages")
textproto_files = [
file.name for file in languages_dir.iterdir() if file.name.endswith(".textproto")
]
@pytest.mark.parametrize("lang_code", textproto_files)
def test_parsable(lang_code):
f = languages_dir.joinpath(lang_code)
msg = text_format.Parse(
f.read_text(encoding="utf-8"), languages_public_pb2.LanguageProto()
)
assert msg.id
assert msg.language
assert msg.script
assert msg.population is not None
|