Lines Matching refs:layout
28 Return an iterator of type (layout, variant) for each element in the XML
33 for layout in root.iter('layout'):
34 yield layout, None
36 for variant in layout.iter('variant'):
37 yield layout, variant
55 # for any test_foo function with an argument named layout,
56 # make it a Layout wrapper class for all layout(variant) combinations
57 elif 'layout' in metafunc.fixturenames:
64 metafunc.parametrize('layout', layouts)
81 Wrapper class for layout/variants - both ConfigItems are available but
83 layout otherwise.
85 def __init__(self, rulesfile, layout, variant=None):
87 self.layout = ConfigItem.from_elem(layout)
90 self.name = f"{self.layout.name}({self.variant.name})"
92 self.name = f"{self.layout.name}"
99 return self.layout.iso3166 or []
106 return self.layout.iso639 or []
110 return self.variant.popularity if self.variant else self.layout.popularity
116 return self.layout.shortDescription
183 for layout in root.iter('layout'):
184 ci = ConfigItem.from_elem(layout)
185 assert ci.name not in layouts, f'Duplicate layout {ci.name}'
189 for variant in layout.iter('variant'):
214 def test_short_description(layout):
215 assert layout.shortDescription, f'{layout.rulesfile}: layout {layout.name} missing shortDescription'
218 def test_iso3166(layout):
230 for code in layout.iso3166:
232 f'{layout.rulesfile}: unknown country code "{code}" in {layout.name}'
234 assert layout.iso3166 or layout.layout.name in expected_without_country, f"{layout.rulesfile}: layout {layout.name} has no countries associated"
237 def test_iso639(layout):
252 for code in layout.iso639:
254 f'{layout.rulesfile}: unknown language code "{code}" in {layout.name}'
256 assert layout.iso639 or layout.layout.name in expected_without_language, f"{layout.rulesfile}: layout {layout.name} has no languages associated"