Skip to content

Commit ed7a59f

Browse files
committed
add full set of FontNameModel tests
1 parent 455be5a commit ed7a59f

File tree

1 file changed

+128
-0
lines changed

1 file changed

+128
-0
lines changed

tests/test_models_fontname.py

+128
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,131 @@ def test_fontname_model_default(qtbot, qtmodeltester):
1616
qtbot.addWidget(tableview)
1717
# check model with default instantiation
1818
qtmodeltester.check(model)
19+
20+
# confirm that font data loaded appropriately
21+
assert model._v_header == [
22+
"01 Family",
23+
"02 Subfamily",
24+
"03 Unique",
25+
"04 Full",
26+
"06 Postscript",
27+
"16 Typo Family",
28+
"17 Typo Subfamily",
29+
"21 WWS Family",
30+
"22 WWS Subfamily",
31+
]
32+
assert model._data == [
33+
[""], # nameID 1 (index 0)
34+
[""], # nameID 2 (index 1)
35+
[""], # nameID 3 (index 2)
36+
[""], # nameID 4 (index 3)
37+
[""], # nameID 6 (index 4)
38+
[""], # nameID 16 (index 5)
39+
[""], # nameID 17 (index 6)
40+
[""], # nameID 21 (index 7)
41+
[""], # nameID 22 (index 8)
42+
]
43+
44+
45+
def test_fontname_model_filled(qtbot, qtmodeltester):
46+
tableview = QTableView()
47+
model = FontNameModel()
48+
tableview.setModel(model)
49+
qtbot.addWidget(tableview)
50+
model.load_font(get_font_model())
51+
52+
# test with qtmodeltester
53+
qtmodeltester.check(model)
54+
55+
# confirm that font data loaded appropriately
56+
# The vertical headers should not change
57+
assert model._v_header == [
58+
"01 Family",
59+
"02 Subfamily",
60+
"03 Unique",
61+
"04 Full",
62+
"06 Postscript",
63+
"16 Typo Family",
64+
"17 Typo Subfamily",
65+
"21 WWS Family",
66+
"22 WWS Subfamily",
67+
]
68+
# default name table data from test font
69+
assert model._data == [
70+
["Recursive Sans Linear Light"], # nameID 1 (index 0)
71+
["Regular"], # nameID 2 (index 1)
72+
["1.077;ARRW;Recursive-SansLinearLight"], # nameID 3 (index 2)
73+
["Recursive Sans Linear Light"], # nameID 4 (index 3)
74+
["Recursive-SansLinearLight"], # nameID 6 (index 4)
75+
[""], # nameID 16 (index 5)
76+
[""], # nameID 17 (index 6)
77+
[""], # nameID 21 (index 7)
78+
[""], # nameID 22 (index 8)
79+
]
80+
81+
82+
def test_fontname_model_get_version(qtbot):
83+
tableview = QTableView()
84+
model = FontNameModel()
85+
tableview.setModel(model)
86+
qtbot.addWidget(tableview)
87+
model.load_font(get_font_model())
88+
89+
assert model.get_version() == "Version 1.077"
90+
91+
92+
def test_fontname_model_get_family_name(qtbot):
93+
tableview = QTableView()
94+
model = FontNameModel()
95+
tableview.setModel(model)
96+
qtbot.addWidget(tableview)
97+
model.load_font(get_font_model())
98+
99+
assert model.get_family_name() == "Recursive Sans Linear Light"
100+
101+
102+
def test_fontname_model_get_instance_data(qtbot):
103+
tableview = QTableView()
104+
model = FontNameModel()
105+
tableview.setModel(model)
106+
qtbot.addWidget(tableview)
107+
model.load_font(get_font_model())
108+
109+
assert model.get_instance_data() == {
110+
"nameID1": "Recursive Sans Linear Light",
111+
"nameID2": "Regular",
112+
"nameID3": "1.077;ARRW;Recursive-SansLinearLight",
113+
"nameID4": "Recursive Sans Linear Light",
114+
"nameID6": "Recursive-SansLinearLight",
115+
"nameID16": "",
116+
"nameID17": "",
117+
"nameID21": "",
118+
"nameID22": "",
119+
}
120+
121+
# simulate update of model data with user input
122+
# and check again to confirm that it is present
123+
model._data = [
124+
["One"],
125+
["Two"],
126+
["Three"],
127+
["Four"],
128+
["Six"],
129+
["Sixteen"],
130+
["Seventeen"],
131+
["Twenty-one"],
132+
["Twenty-two"],
133+
]
134+
model.layoutChanged.emit()
135+
136+
assert model.get_instance_data() == {
137+
"nameID1": "One",
138+
"nameID2": "Two",
139+
"nameID3": "Three",
140+
"nameID4": "Four",
141+
"nameID6": "Six",
142+
"nameID16": "Sixteen",
143+
"nameID17": "Seventeen",
144+
"nameID21": "Twenty-one",
145+
"nameID22": "Twenty-two",
146+
}

0 commit comments

Comments
 (0)