!= 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-4.html src-list-format-1-ref.html == src-list-format-5.html src-list-format-2-ref.html == src-list-format-7.html src-list-format-3-ref.html fails-if(Android) == src-list-local-full.html src-list-local-full-ref.html fails-if(Android) == src-list-local-full-quotes.html src-list-local-full-ref.html == 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) == src-list-local-ps.html src-list-local-full-ref.html # 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 == sheet-set-switch-1.html sheet-set-switch-1-ref.html == 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 == local-1.html local-1-ref.html == local-styled-1.html local-styled-1-ref.html == synthetic-weight-style.html synthetic-weight-style-ref.html == synthetic-variations.html synthetic-variations-ref.html # 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) == 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) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) HTTP(..) == font-error-404-1.html font-error-404-1-ref.html # HTTP status 404, don't load random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load # random on win7, see bug 1786796 comment 9 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) 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 fuzzy-if(OSX,198-198,172-172) == color-1a.html color-1-ref.html != color-1a.html color-1-notref.html fuzzy-if(OSX,198-198,172-172) == color-1b.html color-1-ref.html == color-2a.html color-2-ref.html != color-2a.html color-2-notref.html # COLRv1 (enhanced color font) format # Comparing COLRv1 glyph rendering to CSS backgrounds we can expect "fuzz" in lots of gradients # and along antialiased diagonals, etc., but the differences are barely perceptible to the eye. # These are skipped on Win7 because lack of font-variation support means the COLR table # in the test font CAhem.ttf will be dropped. defaults pref(gfx.font_rendering.colr_v1.enabled,true) skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-200) == colrv1-01.html#A colrv1-01-ref.html#A skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-32,0-200) == colrv1-01.html#B colrv1-01-ref.html#B skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-8,0-10100) == colrv1-01.html#C colrv1-01-ref.html#C skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-600) == colrv1-01.html#D colrv1-01-ref.html#D skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-398) == colrv1-01.html#E colrv1-01-ref.html#E skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-398) == colrv1-01.html#F colrv1-01-ref.html#F skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-596) == colrv1-01.html#G colrv1-01-ref.html#G skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-596) == colrv1-01.html#H colrv1-01-ref.html#H skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-10100) == colrv1-01.html#I colrv1-01-ref.html#I skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-6806) == colrv1-01.html#J colrv1-01-ref.html#J skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-748) == colrv1-01.html#K colrv1-01-ref.html#K skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-67,0-9494) == colrv1-01.html#L colrv1-01-ref.html#L skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-3578) == colrv1-01.html#M colrv1-01-ref.html#M skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-64,0-6116) == colrv1-01.html#N colrv1-01-ref.html#N skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-80,0-5491) == colrv1-01.html#O colrv1-01-ref.html#O skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-112,0-300) == colrv1-01.html#P colrv1-01-ref.html#P skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-138,0-484) == colrv1-01.html#Q colrv1-01-ref.html#Q skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-214,0-461) == colrv1-01.html#R colrv1-01-ref.html#R skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-255,0-373) == colrv1-01.html#S colrv1-01-ref.html#S skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-237,0-477) == colrv1-01.html#T colrv1-01-ref.html#T skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-1) == colrv1-03.html colrv1-03-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-1800) fuzzy-if(Android,0-64,0-37100) == colrv1-04.html colrv1-04-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(Android,8-8,1484-1484) == colrv1-05.html colrv1-05-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-291) == colrv1-06.html colrv1-06-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-128,0-264) == colrv1-07.html colrv1-07-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == colrv1-08.html colrv1-08-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == colrv1-09.html colrv1-09-ref.html defaults # Check that the tech(color-COLRv1) function responds to whether COLRv1 support is enabled. defaults pref(layout.css.font-tech.enabled,true) skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) pref(gfx.font_rendering.colr_v1.enabled,true) == colrv1-02.html colrv1-02a-ref.html skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) pref(gfx.font_rendering.colr_v1.enabled,false) == colrv1-02.html colrv1-02b-ref.html defaults == woff2-1.html woff2-1-ref.html == woff2-totalsfntsize.html woff2-totalsfntsize-ref.html # sanity tests for reflow behavior with downloadable fonts random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html # random on win7, see bug 1786796 comment 9 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) HTTP(..) == reflow-sanity-1-data.html reflow-sanity-1-ref.html random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) 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 HTTP(..) == font-display-2.html font-display-2-ref.html # font load takes 4500ms # Testing hack for Meiryo == meiryo-en.html meiryo-ja.html == meiryo-en-bold.html meiryo-ja-bold.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),255-255,14462-14462) == meiryo-en-italic.html meiryo-ja-italic.html # Bug 1392106 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),255-255,14462-14462) == meiryo-en-oblique.html meiryo-ja-oblique.html # Bug 1392106 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),255-255,16299-16299) == meiryo-en-bolditalic.html meiryo-ja-bolditalic.html # Bug 1392106 != meiryo-en-bold.html meiryo-en.html != meiryo-en-italic.html meiryo-en.html != meiryo-en-oblique.html meiryo-en.html != meiryo-en-bolditalic.html meiryo-en.html != meiryo-en-bolditalic.html meiryo-en-bold.html # test support of variation-font format hints defaults pref(layout.css.font-variations.enabled,false) fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1a.html variation-format-hint-1A-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1b.html variation-format-hint-1A-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1c.html variation-format-hint-1A-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == 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 fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1a.html variation-format-hint-1B-ttf-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1b.html variation-format-hint-1B-otf-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1c.html variation-format-hint-1B-woff-ref.html fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu),0-255,0-2777) == variation-format-hint-1d.html variation-format-hint-1B-woff2-ref.html defaults