1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
!= download-1.html download-1-notref.html
== download-2.html download-2-ref.html
!= download-2.html about:blank
random-if(winWidget||gtkWidget) == download-2-big.html download-2-big-otf.html # bug 470713
!= download-2-big-otf.html about:blank
asserts-if(Android&&!asyncPan,1-8) != download-3-notref.html download-3.html # bug 1019192
asserts-if(Android,0-8) == download-3-ref.html download-3.html # same bugs as above
asserts-if(Android,0-8) == fallback-to-system-1.html fallback-to-system-1-ref.html # just delayed assertions from above tests
== name-override-simple-1.html name-override-simple-1-ref.html
!= name-override-simple-1.html download-1-notref.html
fails == name-override-1.html name-override-1-ref.html
== multiple-descriptor-1.html multiple-descriptor-1-ref.html
!= multiple-descriptor-1.html multiple-descriptor-1-notref.html
== src-list-1.html src-list-1-ref.html
== src-list-2.html src-list-2-ref.html
random-if(winWidget||gtkWidget) == src-list-2-big-otf.html src-list-2-big-ref.html # bug 470713
== src-list-format-1.html src-list-format-1-ref.html
== src-list-format-2.html src-list-format-2-ref.html
== src-list-format-3.html src-list-format-3-ref.html
== src-list-format-4.html src-list-format-1-ref.html
== src-list-format-5.html src-list-format-2-ref.html
== src-list-format-6.html src-list-format-3-ref.html
# assumes AAT fonts are only supported on MacOS
random-if(cocoaWidget) == src-list-format-7.html src-list-format-2-ref.html
random-if(!cocoaWidget) == src-list-format-7.html src-list-format-3-ref.html
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full.html src-list-local-full-ref.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fails-if(Android) == src-list-local-full-quotes.html src-list-local-full-ref.html # Bug 1392106
== src-list-local-fallback.html src-list-local-fallback-ref.html
# data url tests (these don't need the HTTP server)
== src-list-data-1.html src-list-data-ref.html
== src-list-data-2.html src-list-data-ref.html
== src-list-data-3.html src-list-data-ref.html
== src-list-data-4.html src-list-data-ref.html
# load with data url vs. font data load
== src-list-actual-font-ref.html src-list-data-1.html
# localized full fontnames should *not* match, only English ones (need locale-invariant key)
skip == src-list-local-localized.html src-list-local-localized-ref.html # 486787, 486497
# postscript name lookup
# fontconfig only supports postscript name lookup from 2.10.92, Android not supported
fails-if(Android) random-if(gtkWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == src-list-local-ps.html src-list-local-full-ref.html # Bug 1392106
# Mac-specific test of 100 weight faces
random-if(!cocoaWidget) == helveticaneue-ultra.html helveticaneue-ultra-ref.html
== order-1.html order-1-ref.html
== order-2.html order-2-ref.html
== order-3.html order-3-ref.html
== multiple-in-family-1.html multiple-in-family-1-ref.html
== multiple-in-family-1b.html multiple-in-family-1-ref.html
!= multiple-in-family-1.html multiple-in-family-1-notref.html
== prop-order-over-rule-order-1a.html prop-order-over-rule-order-2a.html
== prop-order-over-rule-order-1b.html prop-order-over-rule-order-2b.html
!= prop-order-over-rule-order-1a.html prop-order-over-rule-order-1b.html
== cross-iframe-1.html cross-iframe-1-ref.html
# unicode-range
== unicoderange-1.html unicoderange-1-ref.html
== unicoderange-2.html unicoderange-2-ref.html
== unicoderange-3.html unicoderange-3-ref.html
== unicoderange-4.html unicoderange-4-ref.html
# Dynamic changes
# we need to skip these because of the bug that's causing order-2.html to fail
== enable-sheet-1.html enable-sheet-1-ref.html
skip == enable-sheet-2.html multiple-in-family-1-ref.html
skip == enable-sheet-3.html multiple-in-family-1-ref.html
== enable-sheet-4.html enable-sheet-4-ref.html
== enable-sheet-5.html enable-sheet-4-ref.html
skip == enable-sheet-6.html multiple-in-family-1-ref.html
skip == enable-sheet-7.html multiple-in-family-1-ref.html
== disable-sheet-1.html disable-sheet-1-ref.html
# We're missing disable-sheet-{2,3,6,7} (analogs to
# enable-sheet{2,3,6,7}) because I don't know how to detect test
# completion for those cases.
== disable-sheet-4.html disable-sheet-4-ref.html
== disable-sheet-5.html disable-sheet-4-ref.html
== sheet-set-base-1.html sheet-set-base-1-ref.html
random-if(cocoaWidget) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217
== insert-rule-1a.html insert-rule-1-ref.html
== insert-rule-1b.html insert-rule-1-ref.html
== delete-rule-1.html delete-rule-1-ref.html
== media-query-add-1.html media-query-add-1-ref.html
== media-query-remove-1.html media-query-remove-1-ref.html
!= media-query-add-1-ref.html media-query-remove-1-ref.html
== ahem-metrics-1.html ahem-metrics-1-ref.html
== ex-unit-1.html ex-unit-1-ref.html
== ex-unit-1-dynamic.html ex-unit-1-ref.html
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == local-1.html local-1-ref.html # Bug 1392106
== local-styled-1.html local-styled-1-ref.html
== synthetic-weight-style.html synthetic-weight-style-ref.html
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == synthetic-variations.html synthetic-variations-ref.html # Bug 1392106
# Leak test
load 486974-1.html
# compare fonts with and without bad head checksum
== load-badchecksum.html load-badchecksum-ref.html
# @font-face names take precedence over names of platform fonts (bug 494360)
== name-collision.html name-collision-ref.html
== name-collision-bad-url.html name-collision-bad-url-ref.html
== name-collision-with-prefs-font.html name-collision-with-prefs-font-ref.html # bug 668758
== load-badfullname.html load-badfullname-ref.html
# 507960-1-* : a collection of tests using DeLarge from openfontlibrary.org
# check that the original DeLarge face (ttf) loads; if this fails,
# none of the following tests are meaningful
!= 507960-1-nofont.html 507960-1-ref.html
# check that the WOFF version loads, with and without a format hint
== 507960-1-woff.html 507960-1-ref.html
== 507960-1-woff-hint.html 507960-1-ref.html
# try damaged fonts that should still load (bad checksums)
== 507960-1-bad-checksums-ttf.html 507960-1-ref.html
== 507960-1-bad-checksums-woff.html 507960-1-ref.html
# try versions that should NOT load (bad offsets, signatures, hint)
!= 507960-1-bad-sfnt-version-ttf.html 507960-1-ref.html
!= 507960-1-bad-sfnt-version-woff.html 507960-1-ref.html
!= 507960-1-bad-woff-sig.html 507960-1-ref.html
!= 507960-1-bad-offset-woff.html 507960-1-ref.html
!= 507960-1-woff-bad-hint.html 507960-1-ref.html
# Tests for bug 523717
== underline-offset-change-1.html underline-offset-change-1-ref.html
== underline-offset-change-2.html underline-offset-change-2-ref.html
!= underline-offset-change-1-ref.html underline-offset-change-2-ref.html
!= 534352-1-extra-cmap-sentinel.html 534352-1-extra-cmap-sentinel-ref.html
== bug533251.html bug533251-ref.html
# Bug 875287
== font-familiy-whitespace-1.html font-familiy-whitespace-1-ref.html
!= font-familiy-whitespace-1.html font-familiy-whitespace-1-notref.html
skip-if(Android) == ivs-1.html ivs-1-ref.html # Android bug 1250229
skip-if(Android) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == cjkcisvs-1.html cjkcisvs-1-ref.html # Android bug 1250229, Bug 1392106
== missing-names.html missing-names-ref.html
# Tests for bug 670900 - handling of 404 (not found) error in @font-face URL
# (using Chunkfive font data returned from a .sjs file)
HTTP(..) == font-error-404-1.html font-error-404-1-ref.html # HTTP status 404, don't load
HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load
HTTP(..) != font-error-404-1.html font-error-404-2.html # sanity-check that the results differ
# Font load redirection
HTTP(..) == font-redirect.html order-1-ref.html
# Tests for potential regressions from bug 879963
== dynamic-duplicate-rule-1a.html dynamic-duplicate-rule-1-ref.html
== dynamic-duplicate-rule-1b.html dynamic-duplicate-rule-1-ref.html
== dynamic-duplicate-rule-1c.html dynamic-duplicate-rule-1-ref.html
# Test for COLR and CPAL support
fails-if(OSX) == color-1a.html color-1-ref.html
!= color-1a.html color-1-notref.html
fails-if(OSX) == color-1b.html color-1-ref.html
fails-if(OSX) == color-2a.html color-2-ref.html
!= color-2a.html color-2-notref.html
== woff2-1.html woff2-1-ref.html
== woff2-totalsfntsize.html woff2-totalsfntsize-ref.html
# sanity tests for reflow behavior with downloadable fonts
HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-1.html reflow-sanity-1-data.html
HTTP(..) == reflow-sanity-delay-1a.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-delay-1b.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-delay-1c.html reflow-sanity-1-ref.html
HTTP(..) == reflow-sanity-delay-1-metrics.html reflow-sanity-1-ref.html
HTTP(..) == bug-1481905-cancel-load.html bug-1481905-cancel-load-ref.html
# font-display, with the timeouts extended so that slow (debug) builds have a better chance to keep up
pref(gfx.downloadable_fonts.fallback_delay,10000) pref(gfx.downloadable_fonts.fallback_delay_short,1000) HTTP(..) == font-display-1.html font-display-1-ref.html # normal font load (~500ms), bug 1392106
fuzzy-if(OSX==1010,0-3,0-5) HTTP(..) == font-display-2.html font-display-2-ref.html # font load takes 4500ms
# Testing hack for Meiryo
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == meiryo-en.html meiryo-ja.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == meiryo-en-bold.html meiryo-ja-bold.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == meiryo-en-italic.html meiryo-ja-italic.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == meiryo-en-oblique.html meiryo-ja-oblique.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == meiryo-en-bolditalic.html meiryo-ja-bolditalic.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != meiryo-en-bold.html meiryo-en.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != meiryo-en-italic.html meiryo-en.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != meiryo-en-oblique.html meiryo-en.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != meiryo-en-bolditalic.html meiryo-en.html # Bug 1392106
random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != meiryo-en-bolditalic.html meiryo-en-bold.html # Bug 1392106
# test support of variation-font format hints
defaults pref(layout.css.font-variations.enabled,false)
== variation-format-hint-1a.html variation-format-hint-1A-ref.html
== variation-format-hint-1b.html variation-format-hint-1A-ref.html
== variation-format-hint-1c.html variation-format-hint-1A-ref.html
== variation-format-hint-1d.html variation-format-hint-1A-ref.html
defaults pref(layout.css.font-variations.enabled,true)
# Currently Windows 7 and macOS all fail on
# treeherder because our OS versions are too old to support variation fonts
fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||(cocoaWidget&&OSX<1012)) == variation-format-hint-1a.html variation-format-hint-1B-ttf-ref.html
fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||(cocoaWidget&&OSX<1012)) == variation-format-hint-1b.html variation-format-hint-1B-otf-ref.html
fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||(cocoaWidget&&OSX<1012)) == variation-format-hint-1c.html variation-format-hint-1B-woff-ref.html
fails-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||(cocoaWidget&&OSX<1012)) == variation-format-hint-1d.html variation-format-hint-1B-woff2-ref.html
defaults
|