Source code
Revision control
Copy as Markdown
Other Tools
# Tests related to SVG being used as an image
# zoom/
include zoom/reftest.list
# Background-image tests
== background-display-none-1.html about:blank
== background-simple-1.html lime100x100-ref.html
== background-simple-2.html lime100x100-ref.html
# Sightly trickier background-image test
== background-viewBox-1.html lime100x100-ref.html
# background tests with the background area getting resized
== background-resize-1.html lime100x100-ref.html
== background-resize-2.html lime100x100-ref.html
== background-resize-3.html lime100x100-ref.html
== background-resize-4.html lime100x100-ref.html
# Test for stretching background images by different amounts in each dimension
== background-stretch-1.html background-stretch-1-ref.html
# Tests for scaling background images
fails-if(useDrawSnapshot) == background-scale-no-viewbox-1.html background-scale-no-viewbox-1-ref.html
fails-if(useDrawSnapshot) == background-scale-with-viewbox-1.html background-scale-with-viewbox-1-ref.html
# Test for border-image
== border-image-simple-1.html lime100x100-ref.html
== border-image-simple-2.html lime100x100-ref.html
# Test for canvas "drawImage" method
== canvas-drawImage-simple-1a.html lime100x100-ref.html
== canvas-drawImage-simple-1b.html lime100x100-ref.html
== canvas-drawImage-scale-1a.html lime100x100-ref.html
== canvas-drawImage-scale-1b.html lime100x100-ref.html
== canvas-drawImage-scale-1c.html lime100x100-ref.html
fuzzy(0-192,0-2151) == canvas-drawImage-scale-2a.html canvas-drawImage-scale-2-ref.html
fuzzy(0-192,0-2151) == canvas-drawImage-scale-2b.html canvas-drawImage-scale-2-ref.html
fuzzy(0-1,0-10000) == canvas-drawImage-alpha-1.html canvas-drawImage-alpha-1-ref.html
#Same as scale-2a but with globalAlpha:
fuzzy(0-1,0-40000) fuzzy-if(winWidget&&!swgl,1-73,180-40000) fuzzy-if(Android&&device,0-48,0-39989) == canvas-drawImage-alpha-2.html canvas-drawImage-alpha-2-ref.html
== canvas-drawImage-slice-1a.html lime100x100-ref.html
== canvas-drawImage-slice-1b.html lime100x100-ref.html
== canvas-drawImage-origin-clean-1.html lime100x100-ref.html
== canvas-drawImage-transform-restored.html canvas-drawImage-transform-restored-ref.html
# Context paint tests (this feature is currently not part of any spec.)
# context-fill:
== context-fill-01.html blue100x100-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-01.html lime100x100-ref.html
== context-fill-02.html transparent100x100-w-border-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-02.html lime100x100-w-border-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-03.html lime100x100-50pct-ref.html
# fuzz because on win8 the r & b components are off by one
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-fill-04.html lime100x100-50pct-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-05.html context-fill-or-stroke-05-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-06.html lime100x100-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-07.html context-fill-07-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-08.html blue100x100-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-fill-bg-image-01.html blue100x100-ref.html
# context-stroke:
== context-stroke-01.html blue100x100-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-01.html lime100x100-ref.html
== context-stroke-02.html transparent100x100-w-border-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-02.html lime100x100-w-border-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-03.html lime100x100-50pct-ref.html
# fuzz because on win8 the r & b components are off by one
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-04.html lime100x100-50pct-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-05.html context-fill-or-stroke-05-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-06.html lime100x100-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-07.html context-stroke-07-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-08.html blue100x100-border-ref.html
test-pref(svg.context-properties.content.enabled,true) == context-stroke-bg-image-01.html blue100x100-border-ref.html
# context-fill-opacity:
== context-fill-opacity-01.html blue100x100-ref.html
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-fill-opacity-01.html context-fill-or-stroke-opacity-01-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-20000) test-pref(svg.context-properties.content.enabled,true) == context-fill-opacity-02.html context-fill-or-stroke-opacity-02-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-fill-opacity-03.html context-fill-or-stroke-opacity-03-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-fill-opacity-04.html blue100x100-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-fill-opacity-05.html blue100x100-ref.html # Bug 1377327
# context-stroke-opacity:
== context-stroke-opacity-01.html blue100x100-ref.html
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-01.html context-fill-or-stroke-opacity-01-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-20000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-02.html context-fill-or-stroke-opacity-02-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-03.html context-fill-or-stroke-opacity-03-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-04.html blue100x100-ref.html # Bug 1377327
fuzzy-if(winWidget,0-1,0-10000) test-pref(svg.context-properties.content.enabled,true) == context-stroke-opacity-05.html blue100x100-ref.html # Bug 1377327
# Simple <img> tests
== img-simple-1.html lime100x100-ref.html
== img-simple-2.html lime100x100-ref.html
fuzzy(0-255,0-350) fuzzy-if(geckoview,0-255,0-4063) == img-simple-3.html img-simple-3-ref.html #Bug 1564891, bug 1574154
== img-simple-4.html lime100x100-ref.html
fuzzy(0-255,0-90) fuzzy-if(geckoview,0-255,0-1286) == img-simple-5.html img-simple-5-ref.html
== img-simple-6.html lime100x100-ref.html
fuzzy(0-255,0-27) == img-simple-7.html img-simple-7-ref.html
# Test with mix of <html:img> and <svg:image> referring to the same images,
# with a variety of preserveAspectRatio values in play.
# More complex <img> tests
== img-blobURI-1.html lime100x100-ref.html
skip == img-blobURI-2.html lime100x100-ref.html
fuzzy-if(winWidget,0-16,0-10) == img-content-outside-viewBox-1.html img-content-outside-viewBox-1-ref.html # winWidget is bug 1074161
== img-display-none-1.html about:blank
== img-dyn-1.html img-dyn-1-ref.html
== img-foreignObject-1.html lime100x100-ref.html
# The following tests check that content embedded via <iframe> and <embed>
# doesn't load (or execute scripts) in SVG-as-an-image.
# The "!=" lines are to test that the SVG content, when viewed directly (not as
# an image), does actually render its external content (making it look
# different from the reference case). We don't do that check for
# img-foreignObject-iframe-1a.html, though, because its SVG image tries to
# alert(), and that'd trigger a reftest timeout if we loaded that file directly.
== img-foreignObject-embed-1.html lime100x100-ref.html
== img-foreignObject-iframe-1a.html lime100x100-ref.html
== img-foreignObject-iframe-1b.html lime100x100-ref.html
!= img-foreignObject-iframe-1b-helper.svg lime100x100.svg
== img-widthAndHeight-meet-1.html img-widthAndHeight-meet-1-ref.html
== img-widthAndHeight-meet-2.html img-widthAndHeight-meet-2-ref.html
fuzzy-if(!useDrawSnapshot,255-255,9-9) random-if(geckoview) == img-widthAndHeight-slice-1.html img-widthAndHeight-slice-1-ref.html
== img-widthAndHeight-slice-2.html img-widthAndHeight-slice-2-ref.html
== img-height-meet-1.html img-height-meet-1-ref.html
== img-height-meet-2.html img-height-meet-2-ref.html
fuzzy-if(!useDrawSnapshot,255-255,9-9) random-if(geckoview) == img-height-slice-1.html img-height-slice-1-ref.html
== img-height-slice-2.html img-height-slice-2-ref.html
== img-width-meet-1.html img-width-meet-1-ref.html
== img-width-meet-2.html img-width-meet-2-ref.html
fuzzy-if(!useDrawSnapshot,255-255,3-9) random-if(geckoview) == img-width-slice-1.html img-width-slice-1-ref.html
== img-width-slice-2.html img-width-slice-2-ref.html
# Alternate version of "width & height both non-%-valued" tests, but now
# with no explicit viewBox, to trigger "synthesize-viewBox" behavior
== img-novb-widthAndHeight-meet-1-em.html img-novb-widthAndHeight-all-1-ref.html
== img-novb-widthAndHeight-meet-1-px.html img-novb-widthAndHeight-all-1-ref.html
== img-novb-widthAndHeight-slice-1-em.html img-novb-widthAndHeight-all-1-ref.html
== img-novb-widthAndHeight-slice-1-px.html img-novb-widthAndHeight-all-1-ref.html
# Alternate versions of "only one dimension is non-%-valued" tests, but now
# with no explicit viewBox, to trigger "synthesize-viewBox" behavior
== img-novb-height-meet-1.html img-novb-height-all-1-ref.html
== img-novb-height-slice-1.html img-novb-height-all-1-ref.html
fuzzy(0-255,0-10) == img-novb-width-meet-1.html img-novb-width-all-1-ref.html
fuzzy(0-255,0-10) == img-novb-width-slice-1.html img-novb-width-all-1-ref.html
# with with a fragmentIdentifier viewBox
== img-fragment-1a.html img-fragment-1-ref.html
== img-fragment-1b.html img-fragment-1-ref.html
== img-fragment-1c.html img-fragment-1-ref.html
== img-fragment-2a.html img-fragment-2-ref.html
== img-fragment-2b.html img-fragment-2-ref.html
== img-fragment-2c.html img-fragment-2-ref.html
== list-simple-1.html list-simple-1-ref.html
== svg-image-simple-1.svg lime100x100.svg
== svg-image-simple-2.svg lime100x100.svg
== svg-image-simple-3.svg lime100x100.svg
# tests for <svg> files that include themselves as an <image>
fuzzy-if(winWidget,0-1,0-1) == svg-image-recursive-1a.svg svg-image-recursive-1-ref.svg
fuzzy-if(winWidget,0-1,0-1) == svg-image-recursive-1b.svg svg-image-recursive-1-ref.svg
fuzzy-if(winWidget,0-1,0-1) == svg-image-recursive-2a.svg svg-image-recursive-2-ref.svg
fuzzy-if(winWidget,0-1,0-1) == svg-image-recursive-2b.html svg-image-recursive-2-ref.svg
# tests for external resources vs. data URIs in SVG as an image
== svg-image-datauri-1.html lime100x100.svg
HTTP == svg-image-datauri-1.html lime100x100.svg
== svg-image-external-1.html blue100x100.svg
HTTP == svg-image-external-1.html blue100x100.svg
== svg-stylesheet-datauri-1.html lime100x100.svg
HTTP == svg-stylesheet-datauri-1.html lime100x100.svg
== svg-stylesheet-external-1.html blue100x100.svg
HTTP == svg-stylesheet-external-1.html blue100x100.svg
# tests for SVG <image> that should have a synthetic viewBox
== svg-image-synthetic-viewBox-01.svg svg-image-synthetic-viewBox-01-ref.svg
# Test for painting problems with SVGs used in border images.
# XXXseth: The underlying problems also apply to media fragments,
# but the test case would be much simpler. This should be switched
fuzzy(0-2,0-1) == svg-border-image-repaint-1.html svg-border-image-repaint-1-ref.html
# Test that 'image-orientation: from-image' has no effect, since SVGs don't have EXIF data.
== image-orientation-viewbox-and-size.html?from-image image-orientation-viewbox-and-size.html?none
== image-orientation-viewbox-no-size.html?from-image image-orientation-viewbox-no-size.html?none
# Tests that nonuniform scales work with SVG-as-image.
== nonuniform-scale-2d.html?0.5&1.0 nonuniform-scale-ref.html?50&100
== nonuniform-scale-2d.html?1.0&0.5 nonuniform-scale-ref.html?100&50
== nonuniform-scale-3d.html?0.5&1.0&0.5 nonuniform-scale-ref.html?50&100
== nonuniform-scale-3d.html?1.0&0.5&0.5 nonuniform-scale-ref.html?100&50
# Sanity checks that nonuniform scales don't devolve to uniform scales.
!= nonuniform-scale-2d.html?0.3&1.0 nonuniform-scale-2d.html?0.3&0.3
!= nonuniform-scale-2d.html?0.3&1.0 nonuniform-scale-2d.html?1.0&1.0
!= nonuniform-scale-2d.html?1.0&0.3 nonuniform-scale-2d.html?0.3&0.3
!= nonuniform-scale-2d.html?1.0&0.3 nonuniform-scale-2d.html?1.0&1.0
!= nonuniform-scale-3d.html?0.3&1.0&0.3 nonuniform-scale-3d.html?0.3&0.3&0.3
!= nonuniform-scale-3d.html?0.3&1.0&0.3 nonuniform-scale-3d.html?1.0&1.0&1.0
!= nonuniform-scale-3d.html?1.0&0.3&0.3 nonuniform-scale-3d.html?0.3&0.3&0.3
!= nonuniform-scale-3d.html?1.0&0.3&0.3 nonuniform-scale-3d.html?1.0&1.0&1.0
# Test for preserveAspectRatio with no-longer-supported "defer" keyword
== defer-unsupported-1.svg defer-unsupported-1-ref.svg