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