# 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