@@ -11,6 +11,14 @@ def get_font_model():
1111 return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.ttf" ).resolve ())
1212
1313
14+ def get_font_model_woff ():
15+ return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.woff" ).resolve ())
16+
17+
18+ def get_font_model_woff2 ():
19+ return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.woff2" ).resolve ())
20+
21+
1422def test_designaxis_model_default (qtbot , qtmodeltester ):
1523 tableview = QTableView ()
1624 model = DesignAxisModel ()
@@ -50,6 +58,66 @@ def test_designaxis_model_filled(qtbot, qtmodeltester):
5058 ]
5159
5260
61+ def test_designaxis_model_filled_woff (qtbot , qtmodeltester ):
62+ tableview = QTableView ()
63+ model = DesignAxisModel ()
64+ tableview .setModel (model )
65+ qtbot .addWidget (tableview )
66+ model .load_font (get_font_model_woff ())
67+
68+ # test with qtmodeltester
69+ qtmodeltester .check (model )
70+
71+ # confirm that font data loaded appropriately
72+ assert model ._h_header == ["(Min, Max) [Default]" , "Edit Values" ]
73+ assert model .ordered_axis_tags == ["MONO" , "CASL" , "wght" , "slnt" , "CRSV" ]
74+ assert model ._v_header == ["MONO" , "CASL" , "wght" , "slnt" , "CRSV" ]
75+ assert model .fvar_axes == {
76+ "MONO" : [0.0 , 0.0 , 1.0 ],
77+ "CASL" : [0.0 , 0.0 , 1.0 ],
78+ "wght" : [300.0 , 300.0 , 1000.0 ],
79+ "slnt" : [- 15.0 , 0.0 , 0.0 ],
80+ "CRSV" : [0.0 , 0.5 , 1.0 ],
81+ }
82+ assert model ._data == [
83+ ["(0.0, 1.0) [0.0]" , "" ],
84+ ["(0.0, 1.0) [0.0]" , "" ],
85+ ["(300.0, 1000.0) [300.0]" , "" ],
86+ ["(-15.0, 0.0) [0.0]" , "" ],
87+ ["(0.0, 1.0) [0.5]" , "" ],
88+ ]
89+
90+
91+ def test_designaxis_model_filled_woff2 (qtbot , qtmodeltester ):
92+ tableview = QTableView ()
93+ model = DesignAxisModel ()
94+ tableview .setModel (model )
95+ qtbot .addWidget (tableview )
96+ model .load_font (get_font_model_woff2 ())
97+
98+ # test with qtmodeltester
99+ qtmodeltester .check (model )
100+
101+ # confirm that font data loaded appropriately
102+ assert model ._h_header == ["(Min, Max) [Default]" , "Edit Values" ]
103+ assert model .ordered_axis_tags == ["MONO" , "CASL" , "wght" , "slnt" , "CRSV" ]
104+ assert model ._v_header == ["MONO" , "CASL" , "wght" , "slnt" , "CRSV" ]
105+ assert model .fvar_axes == {
106+ "MONO" : [0.0 , 0.0 , 1.0 ],
107+ "CASL" : [0.0 , 0.0 , 1.0 ],
108+ "wght" : [300.0 , 300.0 , 1000.0 ],
109+ "slnt" : [- 15.0 , 0.0 , 0.0 ],
110+ "CRSV" : [0.0 , 0.5 , 1.0 ],
111+ }
112+ assert model ._data == [
113+ ["(0.0, 1.0) [0.0]" , "" ],
114+ ["(0.0, 1.0) [0.0]" , "" ],
115+ ["(300.0, 1000.0) [300.0]" , "" ],
116+ ["(-15.0, 0.0) [0.0]" , "" ],
117+ ["(0.0, 1.0) [0.5]" , "" ],
118+ ]
119+
120+
53121def test_designaxis_model_get_instance_data (qtbot ):
54122 tableview = QTableView ()
55123 model = DesignAxisModel ()
0 commit comments