This test checks the use of SVGAnimatedEnumeration within SVGFEConvolveMatrixElement

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".



Check initial 'edgeMode' value
PASS feConvolveMatrixElement.edgeMode.toString() is "[object SVGAnimatedEnumeration]"
PASS typeof(feConvolveMatrixElement.edgeMode.baseVal) is "number"
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE

Switch to 'wrap'
PASS feConvolveMatrixElement.edgeMode.baseVal = SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP is SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_WRAP
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "wrap"

Switch to 'none'
PASS feConvolveMatrixElement.edgeMode.baseVal = SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "none"

Try setting invalid values
PASS feConvolveMatrixElement.edgeMode.baseVal = 4 threw exception Error: SVG_INVALID_VALUE_ERR: DOM SVG Exception 1.
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "none"
PASS feConvolveMatrixElement.edgeMode.baseVal = -1 threw exception Error: SVG_INVALID_VALUE_ERR: DOM SVG Exception 1.
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "none"
PASS feConvolveMatrixElement.edgeMode.baseVal = 0 threw exception Error: SVG_INVALID_VALUE_ERR: DOM SVG Exception 1.
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_NONE
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "none"

Switch to 'duplicate'
PASS feConvolveMatrixElement.edgeMode.baseVal = SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE
PASS feConvolveMatrixElement.edgeMode.baseVal is SVGFEConvolveMatrixElement.SVG_EDGEMODE_DUPLICATE
PASS feConvolveMatrixElement.getAttribute('edgeMode') is "duplicate"
PASS successfullyParsed is true

TEST COMPLETE

