Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 <!DOCTYPE HTML> | |
| 2 <title>SVGLengthList, initialize()</title> | |
| 3 <script src="../../resources/testharness.js"></script> | |
| 4 <script src="../../resources/testharnessreport.js"></script> | |
| 5 <svg width="200" height="200"> | |
| 6 <text id="text1" x="500 1000 1500" y="25"> ABC </text> | |
| 7 <text id="text2" x="50 500" y="50"> ABC </text> | |
| 8 <text id="text3" x="50 500 50" y="75">ABC</text> | |
| 9 <text id="text4" x="500" y="100">ABC</text> | |
| 10 </svg> | |
| 11 <script> | |
| 12 test(function() { | |
| 13 // This is a test of the SVGLengthList::initialize() API. | |
|
fs
2016/09/17 17:42:36
Nit: :: -> .
Shanmuga Pandi
2016/09/19 07:40:04
Done.
| |
| 14 | |
| 15 var svg = document.querySelector("svg"); | |
| 16 var list1 = document.getElementById("text1").x.baseVal; | |
| 17 var list2 = document.getElementById("text2").x.baseVal; | |
| 18 var list3 = document.getElementById("text3").x.baseVal; | |
| 19 var list4 = document.getElementById("text4").x.baseVal; | |
| 20 | |
| 21 // Check initial list state of text1. | |
| 22 assert_equals(list1.numberOfItems, 3); | |
| 23 assert_equals(list1.getItem(0).value, 500); | |
| 24 assert_equals(list1.getItem(1).value, 1000); | |
| 25 assert_equals(list1.getItem(2).value, 1500); | |
| 26 assert_throws("IndexSizeError", function() { list1.getItem(3); }); | |
| 27 | |
| 28 // Check initial list state of text2. | |
| 29 assert_equals(list2.numberOfItems, 2); | |
| 30 assert_equals(list2.getItem(0).value, 50); | |
| 31 assert_equals(list2.getItem(1).value, 500); | |
| 32 assert_throws("IndexSizeError", function() { list2.getItem(2); }); | |
| 33 | |
| 34 // Check initial list state of text3. | |
| 35 assert_equals(list3.numberOfItems, 3); | |
| 36 assert_equals(list3.getItem(0).value, 50); | |
| 37 assert_equals(list3.getItem(1).value, 500); | |
| 38 assert_equals(list3.getItem(2).value, 50); | |
| 39 assert_throws("IndexSizeError", function() { list3.getItem(3); }); | |
| 40 | |
| 41 // Check initial list state of text4. | |
| 42 assert_equals(list4.numberOfItems, 1); | |
| 43 assert_equals(list4.getItem(0).value, 500); | |
| 44 assert_throws("IndexSizeError", function() { list4.getItem(1); }); | |
| 45 | |
| 46 // Create a new SVGLength object, that will be the only x coordinate in the fi rst text element. | |
| 47 var newLength = svg.createSVGLength(); | |
| 48 newLength.value = 50; | |
| 49 assert_equals(newLength.value, 50); | |
| 50 | |
| 51 // Spec: Clears all existing current items from the list and re-initializes th e list to hold the single item specified by the parameter. | |
| 52 | |
| 53 // Initialize SVGLengthList with 'newLength'. | |
| 54 assert_equals(list1.initialize(newLength).value, newLength.value); | |
| 55 assert_equals(list1.getItem(0).value, newLength.value); | |
| 56 | |
| 57 // Take the second x item '500' of the second text element, store it in 'itemI nAnotherList' change it to '50'. | |
| 58 assert_equals(list2.getItem(1).value, 500); | |
| 59 var itemInAnotherList = list2.getItem(1); | |
| 60 itemInAnotherList.value = 50; | |
| 61 assert_equals(list2.getItem(1).value, 50); | |
| 62 | |
| 63 // Spec: If newItem is already in a list, then a new object is created with th e same values as newItem and this item is inserted into the list. | |
| 64 // Otherwise, newItem itself is inserted into the list.. | |
| 65 | |
| 66 // Override the third text elements x list with the item x=50 from the second text element, where it should not be removed afterwards. | |
| 67 assert_equals(list3.initialize(itemInAnotherList).value, itemInAnotherList.val ue); | |
| 68 assert_equals(list3.getItem(0).value, 50); | |
| 69 assert_equals(list2.getItem(0).value, 50); | |
| 70 list2.getItem(1); // Should not throw. | |
| 71 | |
| 72 // Assure that the 'itemInAnotherList' item is still live anymore, set value t o 999 then back to 50. | |
|
fs
2016/09/17 17:42:36
This comment sounds funny. Could you change to som
Shanmuga Pandi
2016/09/19 07:40:03
Done.
| |
| 73 itemInAnotherList.value = 999; | |
| 74 assert_equals(itemInAnotherList.value, 999); | |
| 75 assert_equals(list3.getItem(0).value, 50); | |
| 76 itemInAnotherList.value = 50; | |
| 77 assert_equals(itemInAnotherList.value, 50); | |
| 78 assert_equals(list3.getItem(0).value, 50); | |
| 79 | |
| 80 // Copy item from text3 to text4. | |
| 81 assert_equals(list4.initialize(list3.getItem(0)).value, itemInAnotherList.valu e); | |
| 82 assert_equals(list4.getItem(0).value, 50); | |
| 83 list3.getItem(0); // Should not throw. | |
| 84 | |
| 85 // Initialize text2 using setAttribute('x', '50'). | |
| 86 text2.setAttribute("x", "50"); | |
| 87 assert_equals(list2.getItem(0).value, 50); | |
| 88 | |
| 89 // Final check whether the lists all look like expected. | |
| 90 assert_equals(list1.getItem(0).value, 50); | |
| 91 assert_equals(list2.getItem(0).value, 50); | |
| 92 assert_equals(list3.getItem(0).value, 50); | |
| 93 assert_equals(list4.getItem(0).value, 50); | |
| 94 assert_equals(list1.numberOfItems, 1); | |
| 95 assert_equals(list2.numberOfItems, 1); | |
| 96 assert_equals(list3.numberOfItems, 1); | |
| 97 assert_equals(list4.numberOfItems, 1); | |
| 98 assert_throws("IndexSizeError", function() { list1.getItem(1); }); | |
| 99 assert_throws("IndexSizeError", function() { list2.getItem(1); }); | |
| 100 assert_throws("IndexSizeError", function() { list3.getItem(1); }); | |
| 101 assert_throws("IndexSizeError", function() { list4.getItem(1); }); | |
| 102 }); | |
| 103 </script> | |
| OLD | NEW |