Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / svg / dom / script-tests / SVGAnimatedEnumeration-SVGFEBlendElement.js
1 description("This test checks the use of SVGAnimatedEnumeration within SVGFEBlendElement");
2
3 var feBlendElement = document.createElementNS("http://www.w3.org/2000/svg", "feBlend");
4 feBlendElement.setAttribute("mode", "normal");
5
6 debug("");
7 debug("Check initial 'mode' value");
8 shouldBeEqualToString("feBlendElement.mode.toString()", "[object SVGAnimatedEnumeration]");
9 shouldBeEqualToString("typeof(feBlendElement.mode.baseVal)", "number");
10 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL");
11
12 debug("");
13 debug("Switch to 'multiply'");
14 shouldBe("feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY", "SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY");
15 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_MULTIPLY");
16 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "multiply");
17
18 debug("");
19 debug("Switch to 'screen'");
20 shouldBe("feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN", "SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN");
21 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_SCREEN");
22 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "screen");
23
24 debug("");
25 debug("Switch to 'darken'");
26 shouldBe("feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN", "SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN");
27 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_DARKEN");
28 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "darken");
29
30 debug("");
31 debug("Switch to 'lighten'");
32 shouldBe("feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN", "SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN");
33 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN");
34 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "lighten");
35
36 debug("");
37 debug("Try setting invalid values");
38 shouldThrow("feBlendElement.mode.baseVal = 6");
39 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN");
40 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "lighten");
41
42 shouldThrow("feBlendElement.mode.baseVal = -1");
43 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN");
44 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "lighten");
45
46 shouldThrow("feBlendElement.mode.baseVal = 0");
47 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_LIGHTEN");
48 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "lighten");
49
50 debug("");
51 debug("Switch to 'normal'");
52 shouldBe("feBlendElement.mode.baseVal = SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL", "SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL");
53 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_NORMAL");
54 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "normal");
55
56 debug("");
57 debug("baseVal access when mode is set to a value not in SVGFEBlendElement.SVG_FEBLEND_MODE_*.");
58 feBlendElement.setAttribute("mode", "color-dodge");
59 shouldBe("feBlendElement.mode.baseVal", "SVGFEBlendElement.SVG_FEBLEND_MODE_UNKNOWN");
60 shouldThrow("feBlendElement.mode.baseVal = 13");
61 shouldBeEqualToString("feBlendElement.getAttribute('mode')", "color-dodge");
62
63 successfullyParsed = true;