Status: FAIL | Duration: 49ms | Subtests: 0/1 | Open test on wpt.live | wpt.fyi
/svg/types/scripted/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html
<!DOCTYPE HTML> <title>Use of SVGAnimatedEnumeration within SVGFEDisplacementMapElement</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script> test(function() { // 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 // Check initial 'xChannelSelector' value. assert_true(feDisplacementMapElement.xChannelSelector instanceof SVGAnimatedEnumeration); assert_equals(typeof(feDisplacementMapElement.xChannelSelector.baseVal), "number"); assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_R); // Switch to 'G'. feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_G; assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_G); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "G"); // Switch to 'B'. feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_B; assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_B); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "B"); // Switch to 'A'. feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_A; assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "A"); // Try setting invalid values. assert_throws_js(TypeError, function() { feDisplacementMapElement.xChannelSelector.baseVal = 5; }); assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "A"); assert_throws_js(TypeError, function() { feDisplacementMapElement.xChannelSelector.baseVal = -1; }); assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "A"); assert_throws_js(TypeError, function() { feDisplacementMapElement.xChannelSelector.baseVal = 0; }); assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "A"); // Switch to 'R'. feDisplacementMapElement.xChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_R; assert_equals(feDisplacementMapElement.xChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_R); assert_equals(feDisplacementMapElement.getAttribute('xChannelSelector'), "R"); // yChannelSelector // Check initial 'yChannelSelector' value. assert_true(feDisplacementMapElement.yChannelSelector instanceof SVGAnimatedEnumeration); assert_equals(typeof(feDisplacementMapElement.yChannelSelector.baseVal), "number"); assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_R); // Switch to 'G'. feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_G; assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_G); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "G"); // Switch to 'B'. feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_B; assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_B); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "B"); // Switch to 'A'. feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_A; assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "A"); // Try setting invalid values. assert_throws_js(TypeError, function() { feDisplacementMapElement.yChannelSelector.baseVal = 5; }); assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "A"); assert_throws_js(TypeError, function() { feDisplacementMapElement.yChannelSelector.baseVal = -1; }); assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "A"); assert_throws_js(TypeError, function() { feDisplacementMapElement.yChannelSelector.baseVal = 0; }); assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_A); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "A"); // Switch to 'R'. feDisplacementMapElement.yChannelSelector.baseVal = SVGFEDisplacementMapElement.SVG_CHANNEL_R; assert_equals(feDisplacementMapElement.yChannelSelector.baseVal, SVGFEDisplacementMapElement.SVG_CHANNEL_R); assert_equals(feDisplacementMapElement.getAttribute('yChannelSelector'), "R"); }); </script>