ABC
This is a test of the simple SVGNumberList API parts.

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


PASS text1.rotate.baseVal != text1.rotate.animVal is true
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.animVal.numberOfItems is 3

Test uncommon arguments for initialize()
PASS text1.rotate.baseVal.initialize(30) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.initialize must be an instance of SVGNumber.
PASS text1.rotate.baseVal.initialize('aString') threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.initialize must be an instance of SVGNumber.
PASS text1.rotate.baseVal.initialize(text1) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.initialize must be an instance of SVGNumber.
PASS text1.rotate.baseVal.initialize(null) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.initialize must be an instance of SVGNumber.

Test uncommon arguments for getItem()
PASS text1.rotate.baseVal.getItem(30) threw exception IndexSizeError: The index is not in the allowed range..
PASS text1.rotate.baseVal.getItem('aString') is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.getItem(text1) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.getItem(null) is text1.rotate.baseVal.getItem(0)

Test uncommon arguments for insertItemBefore()
PASS text1.rotate.baseVal.insertItemBefore(30) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.insertItemBefore('aString') threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.insertItemBefore(text1) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.insertItemBefore(null) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), 'aString') is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.removeItem(2).toString() is "[object SVGNumber]"
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.baseVal.getItem(0).value is 180
PASS text1.rotate.baseVal.getItem(1).value is 90
PASS text1.rotate.baseVal.getItem(2).value is 270
PASS text1.getAttribute('rotate') is "180 90 270"
PASS text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), text1) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.removeItem(2).toString() is "[object SVGNumber]"
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.baseVal.getItem(0).value is 90
PASS text1.rotate.baseVal.getItem(1).value is 180
PASS text1.rotate.baseVal.getItem(2).value is 270
PASS text1.getAttribute('rotate') is "90 180 270"
PASS text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), null) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.removeItem(2).toString() is "[object SVGNumber]"
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.baseVal.getItem(0).value is 180
PASS text1.rotate.baseVal.getItem(1).value is 90
PASS text1.rotate.baseVal.getItem(2).value is 270
PASS text1.getAttribute('rotate') is "180 90 270"
PASS text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), 0) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.removeItem(2).toString() is "[object SVGNumber]"
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.baseVal.getItem(0).value is 90
PASS text1.rotate.baseVal.getItem(1).value is 180
PASS text1.rotate.baseVal.getItem(2).value is 270
PASS text1.getAttribute('rotate') is "90 180 270"
PASS text1.rotate.baseVal.insertItemBefore(30, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.insertItemBefore must be an instance of SVGNumber.
PASS text1.rotate.baseVal.insertItemBefore('aString', 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.insertItemBefore must be an instance of SVGNumber.
PASS text1.rotate.baseVal.insertItemBefore(text1, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.insertItemBefore must be an instance of SVGNumber.
PASS text1.rotate.baseVal.insertItemBefore(null, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.insertItemBefore must be an instance of SVGNumber.

Set rotate='1 2 3 4' for text1
PASS text1.setAttribute('rotate', '1 2 3 4') is undefined.
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.rotate.baseVal.getItem(0).value is 1
PASS text1.rotate.baseVal.getItem(1).value is 2
PASS text1.rotate.baseVal.getItem(2).value is 3
PASS text1.rotate.baseVal.getItem(3).value is 4
PASS text1.getAttribute('rotate') is "1 2 3 4"

Test uncommon arguments for replaceItem()
PASS text1.rotate.baseVal.replaceItem(30) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.replaceItem('aString') threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.replaceItem(text1) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.replaceItem(null) threw exception TypeError: Not enough arguments.
PASS text1.rotate.baseVal.replaceItem(30, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.replaceItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.replaceItem('aString', 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.replaceItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.replaceItem(text1, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.replaceItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.replaceItem(null, 0) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.replaceItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.replaceItem(text1.rotate.baseVal.getItem(0), 0) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.rotate.baseVal.getItem(0).value is 1
PASS text1.rotate.baseVal.getItem(1).value is 2
PASS text1.rotate.baseVal.getItem(2).value is 3
PASS text1.rotate.baseVal.getItem(3).value is 4
PASS text1.getAttribute('rotate') is "1 2 3 4"
PASS text1.rotate.baseVal.replaceItem(text1.rotate.baseVal.getItem(0), 'aString') is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.rotate.baseVal.getItem(0).value is 1
PASS text1.rotate.baseVal.getItem(1).value is 2
PASS text1.rotate.baseVal.getItem(2).value is 3
PASS text1.rotate.baseVal.getItem(3).value is 4
PASS text1.getAttribute('rotate') is "1 2 3 4"
PASS text1.rotate.baseVal.replaceItem(text1.rotate.baseVal.getItem(0), text1) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.getAttribute('rotate') is "1 2 3 4"
PASS text1.rotate.baseVal.replaceItem(text1.rotate.baseVal.getItem(0), null) is text1.rotate.baseVal.getItem(0)
PASS text1.rotate.baseVal.numberOfItems is 4
PASS text1.getAttribute('rotate') is "1 2 3 4"

Set rotate='1 2 3 4' for text1
PASS text1.setAttribute('rotate', '1 2 3 4') is undefined.

Test uncommon arguents for removeItem()
PASS text1.rotate.baseVal.removeItem(30) threw exception IndexSizeError: The index is not in the allowed range..
PASS text1.rotate.baseVal.removeItem('aString').value is 1
PASS text1.rotate.baseVal.numberOfItems is 3
PASS text1.rotate.baseVal.getItem(0).value is 2
PASS text1.rotate.baseVal.getItem(1).value is 3
PASS text1.rotate.baseVal.getItem(2).value is 4
PASS text1.getAttribute('rotate') is "2 3 4"
PASS text1.rotate.baseVal.removeItem(text1).value is 2
PASS text1.rotate.baseVal.numberOfItems is 2
PASS text1.rotate.baseVal.getItem(0).value is 3
PASS text1.rotate.baseVal.getItem(1).value is 4
PASS text1.getAttribute('rotate') is "3 4"
PASS text1.rotate.baseVal.removeItem(null).value is 3
PASS text1.rotate.baseVal.numberOfItems is 1
PASS text1.rotate.baseVal.getItem(0).value is 4
PASS text1.getAttribute('rotate') is "4"

Test uncommon arguments for appendItem()
PASS text1.rotate.baseVal.appendItem(30) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.appendItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.appendItem('aString') threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.appendItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.appendItem(text1) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.appendItem must be an instance of SVGNumber.
PASS text1.rotate.baseVal.appendItem(null) threw exception TypeError: Argument 1 ('newItem') to SVGNumberList.appendItem must be an instance of SVGNumber.

Testing animVal clear throws
PASS text1.rotate.animVal.clear() threw exception NoModificationAllowedError: The object can not be modified..
PASS text1.rotate.baseVal.clear() is undefined.
PASS successfullyParsed is true

TEST COMPLETE

