Wed, 31 Dec 2014 13:27:57 +0100
Ignore runtime configuration files generated during quality assurance.
1 # Tests for opentype font feature control (bug 511339)
2 #
3 # These rely on the Linux Libertine font (loaded via @font-face)
4 # to ensure that features are present.
6 # check that Turkish language causes a change in rendering (no fi ligature)
7 # (also works via Pango)
8 skip-if(B2G) HTTP(..) != font-features-turkish.html font-features-ref.html # bug 773482
10 # check that disabling ligatures causes a change
11 HTTP(..) != font-features-noliga.html font-features-ref.html
13 # check that enabling optional ligatures causes a change
14 HTTP(..) != font-features-hlig.html font-features-ref.html
16 # compare Turkish rendering with reference using ZWNJ to break the ligature
17 HTTP(..) == font-features-turkish.html font-features-turkish-ref.html
19 # compare Turkish rendering with explicitly disabled ligatures
20 HTTP(..) == font-features-turkish.html font-features-noliga.html
22 # The following should pass even if feature support isn't available,
23 # because both testcase and reference will have the default rendering,
24 # though they're not really meaningful unless the tests above passed already.
26 # compare feature specified within @font-face to same feature in style rule
27 HTTP(..) == font-features-hlig-2.html font-features-hlig.html
28 HTTP(..) == font-features-hlig-4.html font-features-hlig.html
29 HTTP(..) != font-features-hlig-5.html font-features-hlig.html
30 pref(layout.css.font-features.enabled,true) HTTP(..) == font-features-ligatures-none.html font-features-noliga.html
32 # check that feature in style rule overrides @font-face
33 skip-if(B2G) HTTP(..) == font-features-hlig-3.html font-features-noliga.html # bug 773482
35 # make sure old syntax usage never interferes with new syntax usage
36 HTTP(..) == font-features-oldsyntax-1.html font-features-ref.html
37 HTTP(..) == font-features-oldsyntax-2.html font-features-ref.html
38 HTTP(..) == font-features-oldsyntax-3.html font-features-hlig.html
39 HTTP(..) == font-features-oldsyntax-4.html font-features-hlig.html
41 # compare -moz-font-language-override rendering to lang-tagged rendering
42 skip-if(B2G) HTTP(..) == font-features-turkish-override-1.html font-features-turkish.html # bug 773482
43 HTTP(..) == font-features-turkish-override-2.html font-features-turkish.html
45 # check use of -moz-font-language-override to override explicit lang tag
46 HTTP(..) == font-features-turkish-override-3.html font-features-ref.html
47 HTTP(..) == font-features-turkish-override-4.html font-features-ref.html
48 skip-if(B2G) HTTP(..) == font-features-turkish-override-5.html font-features-turkish.html # bug 773482
50 # check that last value wins if a feature is repeated
51 HTTP(..) == font-features-order-1.html font-features-ref.html
52 HTTP(..) == font-features-order-2.html font-features-noliga.html
54 # check priority of feature settings vs. font-variant subproperty
55 HTTP(..) == font-features-order-3.html font-features-noliga.html
56 pref(layout.css.font-features.enabled,true) HTTP(..) == font-features-order-4.html font-features-noliga.html
57 pref(layout.css.font-features.enabled,true) HTTP(..) == font-features-order-5.html font-features-hlig.html
59 # check priority involving feature settings and font-variant-alternates
60 pref(layout.css.font-features.enabled,true) HTTP(..) == alternates-order.html alternates-order-ref.html
62 # check that font-specific values line up with @font-face feature settings
63 pref(layout.css.font-features.enabled,true) HTTP(..) == annotations.html annotations-ref.html
65 # font-variant subproperties
66 # test for specific features being on and others off, based on prop values
67 # (debug problems with font-variant-debug.html which displays all props)
68 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-alternates.html font-variant-alternates-ref.html
69 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-caps.html font-variant-caps-ref.html
70 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-east-asian.html font-variant-east-asian-ref.html
71 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-ligatures.html font-variant-ligatures-ref.html
72 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-numeric.html font-variant-numeric-ref.html
73 pref(layout.css.font-features.enabled,true) HTTP(..) == font-variant-position.html font-variant-position-ref.html
75 # font-kerning
76 pref(layout.css.font-features.enabled,true) HTTP(..) != font-kerning-normal.html font-kerning-none.html
77 pref(layout.css.font-features.enabled,true) HTTP(..) != font-kerning-auto.html font-kerning-none.html
78 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-auto.html font-kerning-normal.html
79 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-normal.html font-kerning-kern.html
80 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-none.html font-kerning-nokern.html
81 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-1.html font-kerning-none.html
82 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-2.html font-kerning-normal.html
83 pref(layout.css.font-features.enabled,true) HTTP(..) == font-kerning-3.html font-kerning-none.html
84 pref(layout.css.font-features.enabled,true) HTTP(..) != font-kerning-table-none.html font-kerning-table-normal.html
86 # sanity check for kerning - with no spaces, kerning should occur
87 HTTP(..) == kerning-sanity-check-kern.html kerning-sanity-check-default.html
88 HTTP(..) != kerning-sanity-check-nokern.html kerning-sanity-check-default.html
90 # OpenType features should work across inter-word spaces
91 HTTP(..) == font-features-across-space-1.html font-features-across-space-1-ref.html
92 HTTP(..) == spacelookups.html spacelookups-ref.html
93 # tests whether word cache is in use by testing for ignored space kerns
94 HTTP(..) == spacelookups-wordcache.html spacelookups-wordcache-ref.html
95 # requires Japanese font with feature support, WinXP lacks one
96 random-if(!winWidget&&!cocoaWidget) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) == fwid-spaces.html fwid-spaces-ref.html
97 # Arial/Times New Roman on Win7+/OSX 10.6+ have kerning pairs that include spaces
98 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) != kerning-spaces-arial-nokern.html kerning-spaces-arial-default.html
99 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) == kerning-spaces-arial-kern.html kerning-spaces-arial-default.html
100 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) != kerning-spaces-tnr-nokern.html kerning-spaces-tnr-default.html
101 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) == kerning-spaces-tnr-kern.html kerning-spaces-tnr-default.html