@@ -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