 Chromium Code Reviews
 Chromium Code Reviews Issue 2340733002:
  Convert LayoutTests/svg/dom/SVGLengthList*.html js-tests.js to testharness.js based tests  (Closed)
    
  
    Issue 2340733002:
  Convert LayoutTests/svg/dom/SVGLengthList*.html js-tests.js to testharness.js based tests  (Closed) 
  | Index: third_party/WebKit/LayoutTests/svg/dom/SVGLengthList-appendItem.html | 
| diff --git a/third_party/WebKit/LayoutTests/svg/dom/SVGLengthList-appendItem.html b/third_party/WebKit/LayoutTests/svg/dom/SVGLengthList-appendItem.html | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..b0a2737205281200a72a41f5d46c882df804e4be | 
| --- /dev/null | 
| +++ b/third_party/WebKit/LayoutTests/svg/dom/SVGLengthList-appendItem.html | 
| @@ -0,0 +1,118 @@ | 
| +<!DOCTYPE HTML> | 
| +<title>SVGLengthList Interface - appendItem()</title> | 
| 
fs
2016/09/14 15:14:35
Could make this "SVGLengthList.appendItem()" or "S
 
Shanmuga Pandi
2016/09/15 06:18:18
Done.
 | 
| +<script src="../../resources/testharness.js"></script> | 
| +<script src="../../resources/testharnessreport.js"></script> | 
| +<svg width="200" height="200"> | 
| + <text id="text1" x="500 50 100 900 1000" y="50">ABC</text> | 
| 
fs
2016/09/14 15:14:35
Does this work out with not needing an expectation
 
Shanmuga Pandi
2016/09/15 06:18:18
It works. Will trigger CQ.
 
Shanmuga Pandi
2016/09/15 07:27:15
This passed the CQ dry run.
 | 
| + <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 text1 = document.getElementById("text1"); | 
| + var text2 = document.getElementById("text2"); | 
| + | 
| + // 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_equals(text1.x.baseVal.numberOfItems, 5); | 
| 
fs
2016/09/14 15:14:35
I think we an cut down on the boilerplate a bit he
 
Shanmuga Pandi
2016/09/15 06:18:18
Done.
 | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(3).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(4).value, 1000); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(5); }); | 
| + | 
| + // Check initial list state of text2. | 
| + assert_equals(text2.x.baseVal.numberOfItems, 3); | 
| + assert_equals(text2.x.baseVal.getItem(0).value, 50); | 
| + assert_equals(text2.x.baseVal.getItem(1).value, 100); | 
| + assert_equals(text2.x.baseVal.getItem(2).value, 1000); | 
| + assert_throws("IndexSizeError", function() { text2.x.baseVal.getItem(3); }); | 
| + | 
| + // Append fourth item x=900 to the text1 x list. | 
| + assert_equals(text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3)).value, text1.x.baseVal.getItem(5).value); | 
| 
Srirama
2016/09/14 12:50:21
try using assert_object_equals instead of checking
 
Shanmuga Pandi
2016/09/14 13:28:17
assert_object_equals is not working for SVG TearOf
 
Srirama
2016/09/14 14:05:33
Acknowledged.
 | 
| + assert_equals(text1.x.baseVal.numberOfItems, 6); | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(3).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(4).value, 1000); | 
| + assert_equals(text1.x.baseVal.getItem(5).value, 900); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(6); }); | 
| + | 
| + // Append first item x=500 to the text1 x list. | 
| + assert_equals(text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0)).value, text1.x.baseVal.getItem(6).value); | 
| 
Srirama
2016/09/14 12:50:21
ditto.
 | 
| + assert_equals(text1.x.baseVal.numberOfItems, 7); | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(3).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(4).value, 1000); | 
| + assert_equals(text1.x.baseVal.getItem(5).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(6).value, 500); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(7); }); | 
| + | 
| + // Append 'newLength1' to the text1 x list. | 
| + assert_equals(text1.x.baseVal.appendItem(newLength1).value, text1.x.baseVal.getItem(7).value); | 
| 
Srirama
2016/09/14 12:50:21
same here as well and in all other places.
 | 
| + assert_equals(text1.x.baseVal.numberOfItems, 8); | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(3).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(4).value, 1000); | 
| + assert_equals(text1.x.baseVal.getItem(5).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(6).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(7).value, 150); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(8); }); | 
| + | 
| + // Append third and fourth item of the text1 x list to the text2 x list. | 
| + assert_equals(text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value, 100); | 
| + assert_equals(text2.x.baseVal.appendItem(text1.x.baseVal.getItem(3)).value, 900); | 
| + assert_equals(text1.x.baseVal.numberOfItems, 8); | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(3).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(4).value, 1000); | 
| + assert_equals(text1.x.baseVal.getItem(5).value, 900); | 
| + assert_equals(text1.x.baseVal.getItem(6).value, 500); | 
| + assert_equals(text1.x.baseVal.getItem(7).value, 150); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(8); }); | 
| + assert_equals(text2.x.baseVal.numberOfItems, 5); | 
| + assert_equals(text2.x.baseVal.getItem(0).value, 50); | 
| + assert_equals(text2.x.baseVal.getItem(1).value, 100); | 
| + assert_equals(text2.x.baseVal.getItem(2).value, 1000); | 
| + assert_equals(text2.x.baseVal.getItem(3).value, 100); | 
| + assert_equals(text2.x.baseVal.getItem(4).value, 900); | 
| + assert_throws("IndexSizeError", function() { text2.x.baseVal.getItem(5); }); | 
| + | 
| + var newLength2 = svg.createSVGLength(); | 
| + newLength2.value = 150; | 
| + assert_equals(newLength2.value, 150); | 
| + text1.x.baseVal.clear(); | 
| + | 
| + // Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists. | 
| + assert_equals(text1.x.baseVal.appendItem(text2.x.baseVal.getItem(0)).value, 50); | 
| + assert_equals(text1.x.baseVal.appendItem(text2.x.baseVal.getItem(1)).value, 100); | 
| + assert_equals(text1.x.baseVal.appendItem(newLength2).value, 150); | 
| + text2.x.baseVal.clear(); | 
| + assert_equals(text2.x.baseVal.appendItem(text1.x.baseVal.getItem(0)).value, 50); | 
| + assert_equals(text2.x.baseVal.appendItem(text1.x.baseVal.getItem(1)).value, 100); | 
| + assert_equals(text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value, 150); | 
| + assert_equals(text1.x.baseVal.numberOfItems, 3); | 
| + assert_equals(text1.x.baseVal.getItem(0).value, 50); | 
| + assert_equals(text1.x.baseVal.getItem(1).value, 100); | 
| + assert_equals(text1.x.baseVal.getItem(2).value, 150); | 
| + assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(4); }); | 
| + assert_equals(text2.x.baseVal.numberOfItems, 3); | 
| + assert_equals(text2.x.baseVal.getItem(0).value, 50); | 
| + assert_equals(text2.x.baseVal.getItem(1).value, 100); | 
| + assert_equals(text2.x.baseVal.getItem(2).value, 150); | 
| + assert_throws("IndexSizeError", function() { text2.x.baseVal.getItem(6); }); | 
| +}); | 
| +</script> |