@@ -11,6 +11,14 @@ def get_font_model():
11
11
return FontModel (Path ("tests/assets/fonts/Recursive-VF.subset.ttf" ).resolve ())
12
12
13
13
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
+
14
22
def test_designaxis_model_default (qtbot , qtmodeltester ):
15
23
tableview = QTableView ()
16
24
model = DesignAxisModel ()
@@ -50,6 +58,66 @@ def test_designaxis_model_filled(qtbot, qtmodeltester):
50
58
]
51
59
52
60
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
+
53
121
def test_designaxis_model_get_instance_data (qtbot ):
54
122
tableview = QTableView ()
55
123
model = DesignAxisModel ()
0 commit comments