Source code

Revision control

Copy as Markdown

Other Tools

# Tests related to SVG Animation (using SMIL) of CSS properties
# XXXdholbert TODO: Test color animation with "color-interpolation: linearRGB"
# (when it's implemented)
# 'color' property, from/to/by with named colors & hex values
== anim-css-color-1-by-ident-hex.svg anim-css-fill-1-ref.svg
== anim-css-color-1-from-by-hex-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-color-1-from-by-ident-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-color-1-from-to-hex-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-color-1-from-to-ident-ident.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-color-1-to-ident-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-color-1-to-ident-ident.svg anim-css-fill-1-ref.svg
# 'color' property, paced calcMode
== anim-css-color-2-paced-rgb.svg anim-css-fill-2-ref.svg
# 'color' property, animating *by* a named color
fuzzy(0-1,0-580) == anim-css-color-3-by-ident-ident.svg anim-css-fill-3-ref.svg
fuzzy(0-1,0-580) == anim-css-color-3-from-by-ident-ident.svg anim-css-fill-3-ref.svg
fuzzy(0-1,0-580) == anim-css-color-3-from-by-rgb-ident.svg anim-css-fill-3-ref.svg
# 'fill' property, from/to/by with named colors & hex values
fuzzy(0-1,0-550) == anim-css-fill-1-by-ident-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-by-hex-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-by-ident-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-to-hex-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-to-ident-ident.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-to-ident-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-to-ident-ident.svg anim-css-fill-1-ref.svg
# 'fill' property, from/to/by, with 'currentColor' keyword
fuzzy(0-1,0-550) == anim-css-fill-1-by-ident-curcol.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-by-curcol-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-by-hex-curcol.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-to-curcol-hex.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-from-to-hex-curcol.svg anim-css-fill-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fill-1-to-ident-curcol.svg anim-css-fill-1-ref.svg
# 'fill' property, paced calcMode
== anim-css-fill-2-paced-rgb.svg anim-css-fill-2-ref.svg
# 'fill' property, animating *by* a named color
fuzzy(0-1,0-580) == anim-css-fill-3-by-ident-ident.svg anim-css-fill-3-ref.svg
fuzzy(0-1,0-580) == anim-css-fill-3-from-by-ident-ident.svg anim-css-fill-3-ref.svg
fuzzy(0-1,0-580) == anim-css-fill-3-from-by-rgb-ident.svg anim-css-fill-3-ref.svg
# check handling of overflowing color values
# NOTE: Some of the tests below fail in Gecko because we compute
# "from + by" as the animation end-point, and we clamp that final color value
# (due to bug 515919) and use the clamped value for interpolation.
# That's earlier than the SVG spec wants us to clamp -- we're only supposed to
# clamp *final presentation values*.
# (Reference: SVG 1.1 Appendix F.4)
== anim-css-fill-overflow-1-by.svg anim-css-fill-overflow-1-ref.svg
== anim-css-fill-overflow-1-from-by.svg anim-css-fill-overflow-1-ref.svg # bug 515919
== anim-css-stopcolor-overflow-1-from-by.svg anim-css-stopcolor-overflow-1-ref.svg # bug 515919
== anim-css-floodcolor-overflow-1-from-by.svg anim-css-floodcolor-overflow-1-ref.svg # bug 515919
# 'fill-opacity' property
fuzzy(0-1,0-885) == anim-css-fillopacity-1-by.svg anim-css-fillopacity-1-ref.svg
fuzzy(0-1,0-210) == anim-css-fillopacity-1-from-by.svg anim-css-fillopacity-1-ref.svg
== anim-css-fillopacity-1-from-to.svg anim-css-fillopacity-1-ref.svg
fuzzy(0-1,0-550) == anim-css-fillopacity-1-to.svg anim-css-fillopacity-1-ref.svg
== anim-css-fillopacity-2-paced.svg anim-css-fillopacity-2-ref.svg
fails == anim-css-fillopacity-3-clamp-big.svg anim-css-fillopacity-3-ref.svg # bug 501188
fuzzy(0-1,0-365) == anim-css-fillopacity-3-clamp-small.svg anim-css-fillopacity-3-ref.svg
# 'font' shorthand property
fuzzy-if(gtkWidget,255-255,1520-1520) == anim-css-font-1.svg anim-css-font-1-ref.svg # Windows: Bug 1392106 Linux: Bug 1599619
# 'font-size' property, from/by/to with pixel values only
== anim-css-fontsize-1-from-by-px-px.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-px-px.svg anim-css-fontsize-1-ref.svg
# 'font-size' property (accepts unitless values)
== anim-css-fontsize-1-from-to-no-no.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-no-px.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-px-no.svg anim-css-fontsize-1-ref.svg
# 'font-size' mapped attribute (accepts unitless values)
== anim-mapped-fontsize-1-from-to-no-no.svg anim-css-fontsize-1-ref.svg
== anim-mapped-fontsize-1-from-to-no-px.svg anim-css-fontsize-1-ref.svg
== anim-mapped-fontsize-1-from-to-px-no.svg anim-css-fontsize-1-ref.svg
# 'font-size' property, from/by/to with percent values
== anim-css-fontsize-1-from-by-pct-pct.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-by-pct-px.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-by-px-pct.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-pct-pct.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-pct-px.svg anim-css-fontsize-1-ref.svg
== anim-css-fontsize-1-from-to-px-pct.svg anim-css-fontsize-1-ref.svg
# 'font-size' property, with negative addition
== anim-css-fontsize-2-from-by-px-px.svg anim-css-fontsize-2-ref.svg
== anim-css-fontsize-2-from-by-px-em.svg anim-css-fontsize-2-ref.svg
== anim-css-fontsize-2-from-by-em-em.svg anim-css-fontsize-2-ref.svg
# 'stroke-dasharray' property, from/to with pixel values only
fails == anim-css-strokedasharray-1.svg anim-css-strokedasharray-1-ref.svg # bug 474049
# 'stroke-width' property, from/by/to with pixel values only
== anim-css-strokewidth-1-by-px-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-by-px-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-to-px-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-to-px-px.svg anim-css-strokewidth-1-ref.svg
# 'stroke-width' property, from/by/to with unitless values only
== anim-css-strokewidth-1-by-no-no.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-by-no-no.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-to-no-no.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-to-no-no.svg anim-css-strokewidth-1-ref.svg
# 'stroke-width' property, from/by/to with percent values
# XXXdholbert the mixed pct + px tests fail right now, because we need calc()
# in order to interpolate between pct and non-pct values, and we don't yet
# support calc() for stroke-width & other SVG-specific properties.
#
# Bug 1258270 and 1386967
== anim-css-strokewidth-1-by-pct-pct.svg anim-css-strokewidth-1-ref.svg
fails == anim-css-strokewidth-1-by-pct-px.svg anim-css-strokewidth-1-ref.svg
fails == anim-css-strokewidth-1-by-px-pct.svg anim-css-strokewidth-1-ref.svg
fails-if(!useDrawSnapshot) == anim-css-strokewidth-1-from-by-pct-pct.svg anim-css-strokewidth-1-ref.svg # bug 1459418
fails == anim-css-strokewidth-1-from-by-pct-px.svg anim-css-strokewidth-1-ref.svg
fails == anim-css-strokewidth-1-from-by-px-pct.svg anim-css-strokewidth-1-ref.svg
fails-if(!useDrawSnapshot) == anim-css-strokewidth-1-from-to-pct-pct.svg anim-css-strokewidth-1-ref.svg # bug 1459418
fails == anim-css-strokewidth-1-from-to-pct-px.svg anim-css-strokewidth-1-ref.svg
fails == anim-css-strokewidth-1-from-to-px-pct.svg anim-css-strokewidth-1-ref.svg
fails-if(!useDrawSnapshot) == anim-css-strokewidth-1-to-pct-pct.svg anim-css-strokewidth-1-ref.svg # bug 1459418
fails == anim-css-strokewidth-1-to-pct-px.svg anim-css-strokewidth-1-ref.svg
fails == anim-css-strokewidth-1-to-px-pct.svg anim-css-strokewidth-1-ref.svg
# 'stroke-width' property, from/by/to with em values
== anim-css-strokewidth-1-by-px-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-by-em-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-by-em-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-by-px-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-by-em-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-by-em-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-to-px-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-to-em-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-from-to-em-px.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-to-px-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-to-em-em.svg anim-css-strokewidth-1-ref.svg
== anim-css-strokewidth-1-to-em-px.svg anim-css-strokewidth-1-ref.svg
# 'stroke-width' property, values-array & paced calc-mode support
== anim-css-strokewidth-2-values-em-em.svg anim-css-strokewidth-2-ref.svg
== anim-css-strokewidth-2-values-em-px.svg anim-css-strokewidth-2-ref.svg
== anim-css-strokewidth-2-values-px-em.svg anim-css-strokewidth-2-ref.svg
fuzzy(0-1,0-360) == anim-css-strokewidth-2-values-px-px.svg anim-css-strokewidth-2-ref.svg
== anim-css-strokewidth-3-paced.svg anim-css-strokewidth-3-ref.svg
# 'stroke-width' property, negative addition
== anim-css-strokewidth-4-from-by-px-px.svg anim-css-strokewidth-4-ref.svg
== anim-css-strokewidth-4-from-by-px-em.svg anim-css-strokewidth-4-ref.svg
== anim-css-strokewidth-4-from-by-em-em.svg anim-css-strokewidth-4-ref.svg
fuzzy(0-1,0-170) == anim-css-strokewidth-4-from-by-no-no.svg anim-css-strokewidth-4-ref.svg
# check correct handling of "!important" values
== important-set-1.svg anim-standard-ref.svg
== important-set-2.svg anim-standard-ref.svg
# check namespaced attribute
== namespaced-property-1.svg anim-standard-ref.svg
# 'letter-spacing' and 'word-spacing'
== anim-css-letterspacing-1.svg anim-css-letterspacing-1-ref.svg
== anim-css-wordspacing-1.svg anim-css-wordspacing-1-ref.svg