| <!DOCTYPE HTML> |
| <title>SVGLengthList, appendItem()</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="resources/SVGLengthList-helper.js"></script> |
| <svg width="200" height="200"> |
| <text id="text1" x="500 50 100 900 1000" y="50">ABC</text> |
| <text id="text2" x="50 100 1000" y="100">ABC</text> |
| </svg> |
| <script> |
| test(function() { |
| // This is a test of the SVGLengthList::appendItem() API. |
| var svg = document.querySelector("svg"); |
| var list1 = document.getElementById("text1").x.baseVal; |
| var list2 = document.getElementById("text2").x.baseVal; |
| |
| // Create a new SVGLength object, with value=150. |
| var newLength1 = svg.createSVGLength(); |
| newLength1.value = 150; |
| assert_equals(newLength1.value, 150); |
| |
| // Check initial list state of text1. |
| assert_list(list1, [500, 50, 100, 900, 1000]); |
| |
| // Check initial list state of text2. |
| assert_list(list2, [50, 100, 1000]); |
| |
| // Append fourth item x=900 to the text1 x list. |
| assert_equals(list1.appendItem(list1.getItem(3)).value, list1.getItem(5).value); |
| assert_list(list1, [500, 50, 100, 900, 1000, 900]); |
| |
| // Append first item x=500 to the text1 x list. |
| assert_equals(list1.appendItem(list1.getItem(0)).value, list1.getItem(6).value); |
| assert_list(list1, [500, 50, 100, 900, 1000, 900, 500]); |
| |
| // Append 'newLength1' to the text1 x list. |
| assert_equals(list1.appendItem(newLength1).value, list1.getItem(7).value); |
| assert_list(list1, [500, 50, 100, 900, 1000, 900, 500, 150]); |
| |
| // Append third and fourth item of the text1 x list to the text2 x list. |
| assert_equals(list2.appendItem(list1.getItem(2)).value, 100); |
| assert_equals(list2.appendItem(list1.getItem(3)).value, 900); |
| assert_list(list1, [500, 50, 100, 900, 1000, 900, 500, 150]); |
| assert_list(list2, [50, 100, 1000, 100, 900]); |
| |
| var newLength2 = svg.createSVGLength(); |
| newLength2.value = 150; |
| assert_equals(newLength2.value, 150); |
| list1.clear(); |
| |
| // Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists. |
| assert_equals(list1.appendItem(list2.getItem(0)).value, 50); |
| assert_equals(list1.appendItem(list2.getItem(1)).value, 100); |
| assert_equals(list1.appendItem(newLength2).value, 150); |
| list2.clear(); |
| assert_equals(list2.appendItem(list1.getItem(0)).value, 50); |
| assert_equals(list2.appendItem(list1.getItem(1)).value, 100); |
| assert_equals(list2.appendItem(list1.getItem(2)).value, 150); |
| assert_list(list1, [50, 100, 150]); |
| assert_list(list2, [50, 100, 150]); |
| }); |
| </script> |