Source code
Revision control
Copy as Markdown
Other Tools
!= download-1.html download-1-notref.html
== download-2.html download-2-ref.html
!= download-2.html about:blank
!= download-2-big-otf.html about:blank
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
== 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
== name-collision.html name-collision-ref.html
== name-collision-bad-url.html name-collision-bad-url-ref.html
== 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
== 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
== font-familiy-whitespace-1.html font-familiy-whitespace-1-ref.html
!= font-familiy-whitespace-1.html font-familiy-whitespace-1-notref.html
== missing-names.html missing-names-ref.html
# (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 # random on win7, see bug 1786796 comment 9
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
== 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(cocoaWidget,198-198,172-172) == color-1a.html color-1-ref.html
!= color-1a.html color-1-notref.html
fuzzy-if(cocoaWidget,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)
fuzzy(0-64,0-200) == colrv1-01.html#A colrv1-01-ref.html#A
fuzzy(0-32,0-200) == colrv1-01.html#B colrv1-01-ref.html#B
fuzzy(0-8,0-10100) == colrv1-01.html#C colrv1-01-ref.html#C
fuzzy(0-64,0-600) == colrv1-01.html#D colrv1-01-ref.html#D
fuzzy(0-64,0-398) == colrv1-01.html#E colrv1-01-ref.html#E
fuzzy(0-64,0-398) == colrv1-01.html#F colrv1-01-ref.html#F
fuzzy(0-64,0-596) == colrv1-01.html#G colrv1-01-ref.html#G
fuzzy(0-64,0-596) == colrv1-01.html#H colrv1-01-ref.html#H
fuzzy(0-64,0-10100) == colrv1-01.html#I colrv1-01-ref.html#I
fuzzy(0-64,0-6806) == colrv1-01.html#J colrv1-01-ref.html#J
fuzzy(0-1,0-748) == colrv1-01.html#K colrv1-01-ref.html#K
fuzzy(0-67,0-9494) == colrv1-01.html#L colrv1-01-ref.html#L
fuzzy(0-64,0-3578) == colrv1-01.html#M colrv1-01-ref.html#M
fuzzy(0-64,0-6116) == colrv1-01.html#N colrv1-01-ref.html#N
fuzzy(0-80,0-5491) == colrv1-01.html#O colrv1-01-ref.html#O
fuzzy(0-112,0-300) == colrv1-01.html#P colrv1-01-ref.html#P
fuzzy(0-149,0-484) == colrv1-01.html#Q colrv1-01-ref.html#Q
fuzzy(0-214,0-461) == colrv1-01.html#R colrv1-01-ref.html#R
fuzzy(0-255,0-373) == colrv1-01.html#S colrv1-01-ref.html#S
fuzzy(0-255,0-290) == colrv1-01.html#T colrv1-01-ref.html#T
fuzzy(0-1,0-1) == colrv1-03.html colrv1-03-ref.html
fuzzy(0-1,0-1800) fuzzy-if(Android,0-64,0-37100) == colrv1-04.html colrv1-04-ref.html
fuzzy-if(Android,8-8,1484-1484) == colrv1-05.html colrv1-05-ref.html
fuzzy(0-1,0-291) == colrv1-06.html colrv1-06-ref.html
fuzzy(0-128,0-264) == colrv1-07.html colrv1-07-ref.html
== colrv1-08.html colrv1-08-ref.html
== 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)
pref(gfx.font_rendering.colr_v1.enabled,true) == colrv1-02.html colrv1-02a-ref.html
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
HTTP(..) == reflow-sanity-1.html reflow-sanity-1-ref.html # random on win7, see bug 1786796 comment 9
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
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
!= 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)
== 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)
== variation-format-hint-1a.html variation-format-hint-1B-ttf-ref.html
== variation-format-hint-1b.html variation-format-hint-1B-otf-ref.html
== variation-format-hint-1c.html variation-format-hint-1B-woff-ref.html
== variation-format-hint-1d.html variation-format-hint-1B-woff2-ref.html
# Check that -webkit-font-smoothing affects rendering (macOS only)...
skip-if(!cocoaWidget) != font-smoothing-antialiased.html font-smoothing-antialiased-notref.html
# ...but has no effect on other platforms
skip-if(cocoaWidget) == font-smoothing-antialiased.html font-smoothing-antialiased-notref.html
defaults