@@ -16,3 +16,131 @@ def test_fontname_model_default(qtbot, qtmodeltester):
16
16
qtbot .addWidget (tableview )
17
17
# check model with default instantiation
18
18
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