Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /svg/types/scripted/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html - WPT Dashboard Interop Dashboard
<!DOCTYPE HTML>
<title>Use of SVGAnimatedEnumeration within SVGComponentTransferFunctionElement</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
// This test checks the use of SVGAnimatedEnumeration within SVGComponentTransferFunctionElement.
feFuncRElement.setAttribute("type", "identity");
// Check initial 'type' value.
assert_true(feFuncRElement.type instanceof SVGAnimatedEnumeration);
assert_equals(typeof(feFuncRElement.type.baseVal), "number");
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY);
// Switch to 'table'.
feFuncRElement.type.baseVal = SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_TABLE;
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_TABLE);
assert_equals(feFuncRElement.getAttribute('type'), "table");
// Switch to 'discrete'.
feFuncRElement.type.baseVal = SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE;
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE);
assert_equals(feFuncRElement.getAttribute('type'), "discrete");
// Switch to 'linear'.
feFuncRElement.type.baseVal = SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_LINEAR;
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_LINEAR);
assert_equals(feFuncRElement.getAttribute('type'), "linear");
// Switch to 'gamma'.
feFuncRElement.type.baseVal = SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA;
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA);
assert_equals(feFuncRElement.getAttribute('type'), "gamma");
// Try setting invalid values.
assert_throws_js(TypeError, function() { feFuncRElement.type.baseVal = 6; });
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA);
assert_equals(feFuncRElement.getAttribute('type'), "gamma");
assert_throws_js(TypeError, function() { feFuncRElement.type.baseVal = -1; });
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA);
assert_equals(feFuncRElement.getAttribute('type'), "gamma");
assert_throws_js(TypeError, function() { feFuncRElement.type.baseVal = 0; });
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_GAMMA);
assert_equals(feFuncRElement.getAttribute('type'), "gamma");
// Switch to 'identity'.
feFuncRElement.type.baseVal = SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY;
assert_equals(feFuncRElement.type.baseVal, SVGComponentTransferFunctionElement.SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY);
assert_equals(feFuncRElement.getAttribute('type'), "identity");
});
</script>