@@ -9,6 +9,14 @@ def get_font_model():
99 return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.ttf" ).resolve ())
1010
1111
12+ def get_font_model_woff ():
13+ return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.woff" ).resolve ())
14+
15+
16+ def get_font_model_woff2 ():
17+ return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.woff2" ).resolve ())
18+
19+
1220def test_fontname_model_default (qtbot , qtmodeltester ):
1321 tableview = QTableView ()
1422 model = FontNameModel ()
@@ -79,6 +87,80 @@ def test_fontname_model_filled(qtbot, qtmodeltester):
7987 ]
8088
8189
90+ def test_fontname_model_filled_woff (qtbot , qtmodeltester ):
91+ tableview = QTableView ()
92+ model = FontNameModel ()
93+ tableview .setModel (model )
94+ qtbot .addWidget (tableview )
95+ model .load_font (get_font_model_woff ())
96+
97+ # test with qtmodeltester
98+ qtmodeltester .check (model )
99+
100+ # confirm that font data loaded appropriately
101+ # The vertical headers should not change
102+ assert model ._v_header == [
103+ "01 Family" ,
104+ "02 Subfamily" ,
105+ "03 Unique" ,
106+ "04 Full" ,
107+ "06 Postscript" ,
108+ "16 Typo Family" ,
109+ "17 Typo Subfamily" ,
110+ "21 WWS Family" ,
111+ "22 WWS Subfamily" ,
112+ ]
113+ # default name table data from test font
114+ assert model ._data == [
115+ ["Recursive Sans Linear Light" ], # nameID 1 (index 0)
116+ ["Regular" ], # nameID 2 (index 1)
117+ ["1.077;ARRW;Recursive-SansLinearLight" ], # nameID 3 (index 2)
118+ ["Recursive Sans Linear Light" ], # nameID 4 (index 3)
119+ ["Recursive-SansLinearLight" ], # nameID 6 (index 4)
120+ ["" ], # nameID 16 (index 5)
121+ ["" ], # nameID 17 (index 6)
122+ ["" ], # nameID 21 (index 7)
123+ ["" ], # nameID 22 (index 8)
124+ ]
125+
126+
127+ def test_fontname_model_filled_woff2 (qtbot , qtmodeltester ):
128+ tableview = QTableView ()
129+ model = FontNameModel ()
130+ tableview .setModel (model )
131+ qtbot .addWidget (tableview )
132+ model .load_font (get_font_model_woff2 ())
133+
134+ # test with qtmodeltester
135+ qtmodeltester .check (model )
136+
137+ # confirm that font data loaded appropriately
138+ # The vertical headers should not change
139+ assert model ._v_header == [
140+ "01 Family" ,
141+ "02 Subfamily" ,
142+ "03 Unique" ,
143+ "04 Full" ,
144+ "06 Postscript" ,
145+ "16 Typo Family" ,
146+ "17 Typo Subfamily" ,
147+ "21 WWS Family" ,
148+ "22 WWS Subfamily" ,
149+ ]
150+ # default name table data from test font
151+ assert model ._data == [
152+ ["Recursive Sans Linear Light" ], # nameID 1 (index 0)
153+ ["Regular" ], # nameID 2 (index 1)
154+ ["1.077;ARRW;Recursive-SansLinearLight" ], # nameID 3 (index 2)
155+ ["Recursive Sans Linear Light" ], # nameID 4 (index 3)
156+ ["Recursive-SansLinearLight" ], # nameID 6 (index 4)
157+ ["" ], # nameID 16 (index 5)
158+ ["" ], # nameID 17 (index 6)
159+ ["" ], # nameID 21 (index 7)
160+ ["" ], # nameID 22 (index 8)
161+ ]
162+
163+
82164def test_fontname_model_get_version (qtbot ):
83165 tableview = QTableView ()
84166 model = FontNameModel ()
0 commit comments