| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| description("This test checks the use of SVGAnimatedEnumeration within SVGFEDisplacementMapElement"); |
| |
| var feDisplacementMapElement = document.createElementNS("http://www.w3.org/2000/svg", "feDisplacementMap"); |
| feDisplacementMapElement.setAttribute("xChannelSelector", "R"); |
| feDisplacementMapElement.setAttribute("yChannelSelector", "R"); |
| |
| // xChannelSelector |
| debug(""); |
| debug("Check initial 'xChannelSelector' value"); |
| shouldBeEqualToString("feDisplacementMapElement.xChannelSelector.toString()", "[object SVGAnimatedEnumeration]"); |
| shouldBeEqualToString("typeof(feDisplacementMapElement.xChannelSelector.baseVal)", "number"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| |
| debug(""); |
| debug("Switch to 'G'"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_G", "SVGFEDisplacementMapElement.SVG_CHANNEL_G"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_G"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "G"); |
| |
| debug(""); |
| debug("Switch to 'B'"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_B", "SVGFEDisplacementMapElement.SVG_CHANNEL_B"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_B"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "B"); |
| |
| debug(""); |
| debug("Switch to 'A'"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_A", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "A"); |
| |
| debug(""); |
| debug("Try setting invalid values"); |
| shouldThrow("feDisplacementMapElement.xChannelSelector.baseVal = 5"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "A"); |
| |
| shouldThrow("feDisplacementMapElement.xChannelSelector.baseVal = -1"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "A"); |
| |
| shouldThrow("feDisplacementMapElement.xChannelSelector.baseVal = 0"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "A"); |
| |
| debug(""); |
| debug("Switch to 'R'"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_R", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| shouldBe("feDisplacementMapElement.xChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('xChannelSelector')", "R"); |
| |
| // yChannelSelector |
| debug(""); |
| debug("Check initial 'yChannelSelector' value"); |
| shouldBeEqualToString("feDisplacementMapElement.yChannelSelector.toString()", "[object SVGAnimatedEnumeration]"); |
| shouldBeEqualToString("typeof(feDisplacementMapElement.yChannelSelector.baseVal)", "number"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| |
| debug(""); |
| debug("Switch to 'G'"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_G", "SVGFEDisplacementMapElement.SVG_CHANNEL_G"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_G"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "G"); |
| |
| debug(""); |
| debug("Switch to 'B'"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_B", "SVGFEDisplacementMapElement.SVG_CHANNEL_B"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_B"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "B"); |
| |
| debug(""); |
| debug("Switch to 'A'"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_A", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "A"); |
| |
| debug(""); |
| debug("Try setting invalid values"); |
| shouldThrow("feDisplacementMapElement.yChannelSelector.baseVal = 5"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "A"); |
| |
| shouldThrow("feDisplacementMapElement.yChannelSelector.baseVal = -1"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "A"); |
| |
| shouldThrow("feDisplacementMapElement.yChannelSelector.baseVal = 0"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_A"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "A"); |
| |
| debug(""); |
| debug("Switch to 'R'"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_R", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| shouldBe("feDisplacementMapElement.yChannelSelector.baseVal", "SVGFEDisplacementMapElement.SVG_CHANNEL_R"); |
| shouldBeEqualToString("feDisplacementMapElement.getAttribute('yChannelSelector')", "R"); |
| |
| successfullyParsed = true; |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |