| OLD | NEW | 
 | (Empty) | 
|   1 description("Tests animation on 'currentColor'."); |  | 
|   2 createSVGTestCase(); |  | 
|   3  |  | 
|   4 // Setup test document |  | 
|   5 var rect = createSVGElement("rect"); |  | 
|   6 rect.setAttribute("id", "rect"); |  | 
|   7 rect.setAttribute("width", "100px"); |  | 
|   8 rect.setAttribute("height", "100px"); |  | 
|   9 rect.setAttribute("fill", "currentColor"); |  | 
|  10 rect.setAttribute("color", "red"); |  | 
|  11  |  | 
|  12 var animateColor = createSVGElement("animateColor"); |  | 
|  13 animateColor.setAttribute("id", "animateColor"); |  | 
|  14 animateColor.setAttribute("attributeName", "color"); |  | 
|  15 animateColor.setAttribute("from", "red"); |  | 
|  16 animateColor.setAttribute("to", "green"); |  | 
|  17 animateColor.setAttribute("dur", "3s"); |  | 
|  18 animateColor.setAttribute("begin", "click"); |  | 
|  19 animateColor.setAttribute("fill", "freeze"); |  | 
|  20 rect.appendChild(animateColor); |  | 
|  21 rootSVGElement.appendChild(rect); |  | 
|  22  |  | 
|  23 function checkFillColor(red, green, blue, hex) { |  | 
|  24     shouldBeEqualToString("document.defaultView.getComputedStyle(rect).getProper
    tyValue('fill')", hex); |  | 
|  25  |  | 
|  26     try { |  | 
|  27         shouldBeEqualToString("(fillPaint = document.defaultView.getComputedStyl
    e(rect).getPropertyCSSValue('fill')).toString()", "[object SVGPaint]"); |  | 
|  28         shouldBe("fillPaint.paintType", "SVGPaint.SVG_PAINTTYPE_CURRENTCOLOR"); |  | 
|  29         shouldBeEqualToString("fillPaint.uri", ""); |  | 
|  30         shouldBe("fillPaint.colorType", "SVGColor.SVG_COLORTYPE_CURRENTCOLOR"); |  | 
|  31         shouldBeEqualToString("(fillColor = fillPaint.rgbColor).toString()", "[o
    bject RGBColor]"); |  | 
|  32         shouldBe("fillColor.red.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", ""
     + red); |  | 
|  33         shouldBe("fillColor.green.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", 
    "" + green); |  | 
|  34         shouldBe("fillColor.blue.getFloatValue(CSSPrimitiveValue.CSS_NUMBER)", "
    " + blue); |  | 
|  35     } catch(e) { |  | 
|  36         // Opera doesn't support getPropertyCSSValue - no way to compare to thei
    r SVGPaint/SVGColor objects :( |  | 
|  37     } |  | 
|  38 } |  | 
|  39  |  | 
|  40 // Setup animation test |  | 
|  41 function sample1() { |  | 
|  42     debug(""); |  | 
|  43     debug("Initial condition:"); |  | 
|  44     checkFillColor(255, 0, 0, "#ff0000"); |  | 
|  45 } |  | 
|  46  |  | 
|  47 function sample2() { |  | 
|  48     debug(""); |  | 
|  49     debug("Half-time condition:"); |  | 
|  50     checkFillColor(128, 64, 0, "#804000"); |  | 
|  51 } |  | 
|  52  |  | 
|  53 function sample3() { |  | 
|  54     debug(""); |  | 
|  55     debug("End condition:"); |  | 
|  56     checkFillColor(0, 128, 0, "#008000"); |  | 
|  57 } |  | 
|  58  |  | 
|  59 function executeTest() { |  | 
|  60     const expectedValues = [ |  | 
|  61         // [animationId, time, elementId, sampleCallback] |  | 
|  62         ["animateColor", 0.0,    "rect", sample1], |  | 
|  63         ["animateColor", 1.5,    "rect", sample2], |  | 
|  64         ["animateColor", 3.0,    "rect", sample3] |  | 
|  65     ]; |  | 
|  66  |  | 
|  67     runAnimationTest(expectedValues); |  | 
|  68 } |  | 
|  69  |  | 
|  70 // Begin test async |  | 
|  71 rect.setAttribute("onclick", "executeTest()"); |  | 
|  72 window.setTimeout("triggerUpdate(50, 50)", 0); |  | 
|  73  |  | 
|  74 var successfullyParsed = true; |  | 
| OLD | NEW |