Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<title>Use of SVGAnimatedEnumeration within SVGFEMorphologyElement</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {
// This test checks the use of SVGAnimatedEnumeration within SVGFEMorphologyElement.
var feMorphologyElement = document.createElementNS("http://www.w3.org/2000/svg", "feMorphology");
feMorphologyElement.setAttribute("operator", "erode");
// Check initial 'operator' value.
assert_true(feMorphologyElement.operator instanceof SVGAnimatedEnumeration);
assert_equals(typeof(feMorphologyElement.operator.baseVal), "number");
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE);
// Switch to 'dilate'.
feMorphologyElement.operator.baseVal = SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE;
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE);
assert_equals(feMorphologyElement.getAttribute('operator'), "dilate");
// Try setting invalid values.
assert_throws_js(TypeError, function() { feMorphologyElement.operator.baseVal = 4; });
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE);
assert_equals(feMorphologyElement.getAttribute('operator'), "dilate");
assert_throws_js(TypeError, function() { feMorphologyElement.operator.baseVal = -1; });
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE);
assert_equals(feMorphologyElement.getAttribute('operator'), "dilate");
assert_throws_js(TypeError, function() { feMorphologyElement.operator.baseVal = 0; });
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_DILATE);
assert_equals(feMorphologyElement.getAttribute('operator'), "dilate");
// Switch to 'erode'.
feMorphologyElement.operator.baseVal = SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE;
assert_equals(feMorphologyElement.operator.baseVal, SVGFEMorphologyElement.SVG_MORPHOLOGY_OPERATOR_ERODE);
assert_equals(feMorphologyElement.getAttribute('operator'), "erode");
});
</script>