!= 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)) == colrv1-01.html#A colrv1-01-ref.html#A
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == colrv1-01.html#B colrv1-01-ref.html#B
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-10000) == colrv1-01.html#C colrv1-01-ref.html#C
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-600) == colrv1-01.html#D colrv1-01-ref.html#D
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-200) == colrv1-01.html#E colrv1-01-ref.html#E
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-200) == colrv1-01.html#F colrv1-01-ref.html#F
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-400) == colrv1-01.html#G colrv1-01-ref.html#G
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-400) == colrv1-01.html#H colrv1-01-ref.html#H
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-10000) == colrv1-01.html#I colrv1-01-ref.html#I
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-576) == 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-1,0-851) == colrv1-01.html#L colrv1-01-ref.html#L
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-668) == colrv1-01.html#M colrv1-01-ref.html#M
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-848) == colrv1-01.html#N colrv1-01-ref.html#N
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-1,0-675) == colrv1-01.html#O colrv1-01-ref.html#O
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == colrv1-01.html#P colrv1-01-ref.html#P
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-138,0-318) == colrv1-01.html#Q colrv1-01-ref.html#Q
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-214,0-158) == colrv1-01.html#R colrv1-01-ref.html#R
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-255,0-156) == colrv1-01.html#S colrv1-01-ref.html#S
skip-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy(0-237,0-277) == 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
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