blob: ba825bf1766add60ce798fdb371729b2c50c5ed5 [file] [log] [blame]
ABC
ABC
This is a test of the SVGLengthList::insertItemBefore() API.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Create three SVGLength objects, with values=50,100,150
PASS newLength1.value is 50
PASS newLength2.value is 100
PASS newLength3.value is 150
PASS newLength1 != newLength2 is true
PASS newLength2 != newLength3 is true
PASS newLength3 != newLength1 is true
PASS newLength1.value == newLength2.value - 50 is true
PASS newLength2.value + 50 == newLength3.value is true
Check initial list state
PASS text1.x.baseVal.numberOfItems is 3
PASS text1.x.baseVal.getItem(0).value is 500
PASS text1.x.baseVal.getItem(1).value is 1000
PASS text1.x.baseVal.getItem(2).value is 1500
PASS text1.x.baseVal.getItem(3) threw exception IndexSizeError: The index is not in the allowed range..
Insert item 'newLength1' at the end of the list, by using a large index
PASS text1.x.baseVal.insertItemBefore(newLength1, 1000) is newLength1
PASS text1.x.baseVal.numberOfItems is 4
PASS text1.x.baseVal.getItem(0).value is 500
PASS text1.x.baseVal.getItem(1).value is 1000
PASS text1.x.baseVal.getItem(2).value is 1500
PASS text1.x.baseVal.getItem(3).value is 50
PASS text1.x.baseVal.getItem(4) threw exception IndexSizeError: The index is not in the allowed range..
Storing getItem(0/1/2) in local variables
Insert item 'newLength2' at the front of the list, by using index=0
PASS text1.x.baseVal.insertItemBefore(newLength2, 0) is newLength2
PASS text1.x.baseVal.numberOfItems is 5
PASS text1.x.baseVal.getItem(0).value is 100
PASS text1.x.baseVal.getItem(1).value is 500
PASS text1.x.baseVal.getItem(2).value is 1000
PASS text1.x.baseVal.getItem(3).value is 1500
PASS text1.x.baseVal.getItem(4).value is 50
PASS text1.x.baseVal.getItem(5) threw exception IndexSizeError: The index is not in the allowed range..
Assure that previously saved wrappers still show the old values
PASS item0.value is 500
PASS item1.value is 1000
PASS item2.value is 1500
PASS item3.value is 50
Insert item 'newLength3' at position=2, between '500' and '1000'
PASS text1.x.baseVal.insertItemBefore(newLength3, 2) is newLength3
PASS text1.x.baseVal.numberOfItems is 6
PASS text1.x.baseVal.getItem(0).value is 100
PASS text1.x.baseVal.getItem(1).value is 500
PASS text1.x.baseVal.getItem(2).value is 150
PASS text1.x.baseVal.getItem(3).value is 1000
PASS text1.x.baseVal.getItem(4).value is 1500
PASS text1.x.baseVal.getItem(5).value is 50
PASS text1.x.baseVal.getItem(6) threw exception IndexSizeError: The index is not in the allowed range..
Insert item 'newLength3' at position=1, between '100' and '500', remove it from the old position=2 afterwards.
PASS text1.x.baseVal.insertItemBefore(newLength3, 1) is text1.x.baseVal.getItem(1)
PASS text1.x.baseVal.removeItem(3).toString() is "[object SVGLength]"
PASS text1.x.baseVal.numberOfItems is 6
PASS text1.x.baseVal.getItem(0).value is 100
PASS text1.x.baseVal.getItem(1).value is 150
PASS text1.x.baseVal.getItem(2).value is 500
PASS text1.x.baseVal.getItem(3).value is 1000
PASS text1.x.baseVal.getItem(4).value is 1500
PASS text1.x.baseVal.getItem(5).value is 50
PASS text1.x.baseVal.getItem(6) threw exception IndexSizeError: The index is not in the allowed range..
Insert item 'newLength3' at position=0, before '100', remove it from the old position=5 afterwards.
PASS text1.x.baseVal.insertItemBefore(newLength1, 0) is text1.x.baseVal.getItem(0)
PASS text1.x.baseVal.removeItem(6).toString() is "[object SVGLength]"
PASS text1.x.baseVal.numberOfItems is 6
PASS text1.x.baseVal.getItem(0).value is 50
PASS text1.x.baseVal.getItem(1).value is 100
PASS text1.x.baseVal.getItem(2).value is 150
PASS text1.x.baseVal.getItem(3).value is 500
PASS text1.x.baseVal.getItem(4).value is 1000
PASS text1.x.baseVal.getItem(5).value is 1500
PASS text1.x.baseVal.getItem(6) threw exception IndexSizeError: The index is not in the allowed range..
The test passes if you only see 'PASS' messages, and both text elements on top look the same
PASS successfullyParsed is true
TEST COMPLETE