# Tests related to SVG being used as an image

# zoom/
include zoom/reftest.list

# Trivial background-image tests
== 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

# Tests with -moz-image-rect()
== background-image-rect-1svg.html  lime100x100-ref.html
random-if(bug685516) == background-image-rect-1png.html  lime100x100-ref.html
== background-image-rect-2.html     lime100x100-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
# NOTE: The canvas reftests that involve scaling currently fail with fuzziness
# on various edges, as noted below. These will be fixed in followup bugs.
== 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

fails == canvas-drawImage-scale-2a.html canvas-drawImage-scale-2-ref.html # XXX all edges fuzzy
fails == canvas-drawImage-scale-2b.html canvas-drawImage-scale-2-ref.html # XXX all edges fuzzy

== canvas-drawImage-slice-1a.html lime100x100-ref.html
fails-if(!azureQuartz) == canvas-drawImage-slice-1b.html lime100x100-ref.html # XXX all edges fuzzy

== canvas-drawImage-origin-clean-1.html lime100x100-ref.html

# Simple <img> tests
== img-simple-1.html  lime100x100-ref.html
== img-simple-2.html  lime100x100-ref.html
== img-simple-3.html  img-simple-3-ref.html
== img-simple-4.html  lime100x100-ref.html
== img-simple-5.html  img-simple-5-ref.html
== img-simple-6.html  lime100x100-ref.html
== 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.
random == img-and-image-1.html img-and-image-1-ref.svg # bug 645267

# More complex <img> tests
== img-blobURI-1.html lime100x100-ref.html
== img-blobURI-2.html lime100x100-ref.html
== img-content-outside-viewBox-1.html img-content-outside-viewBox-1-ref.html
== 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-embed-1-helper.svg   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-ref.html

== img-widthAndHeight-meet-1.html  img-widthAndHeight-meet-1-ref.html
== img-widthAndHeight-meet-2.html  img-widthAndHeight-meet-2-ref.html
== 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
== 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
== 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
== img-novb-width-meet-1.html     img-novb-width-all-1-ref.html
== 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>
== svg-image-recursive-1a.svg  svg-image-recursive-1-ref.svg
== svg-image-recursive-1b.svg  svg-image-recursive-1-ref.svg
== svg-image-recursive-2a.svg  svg-image-recursive-2-ref.svg
== svg-image-recursive-2b.html svg-image-recursive-2-ref.svg

# test that scripting feature is not supported in images or referenced documents
== svg-image-script-1.svg lime100x100.svg
== svg-image-script-2.svg lime100x100.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

# test that :visited status is ignored in image documents
# We load the images directly first, to be sure history is populated.
# It's also good to verify that the helper images don't match lime100x100.svg
# in non-image contexts, but for that to work, we have to reliably count on
# :visited styles loading (asynchronously), so we test that in
# layout/style/test/test_visited_reftests.html instead of the reftest harness.
!= svg-image-visited-1-helper.svg about:blank
== svg-image-visited-1.html       lime100x100.svg
!= svg-image-visited-2-helper.svg about:blank
== svg-image-visited-2.html       lime100x100.svg
