WebKit Bugzilla
Attachment 356882 Details for
Bug 191237
: Remove SVG properties tear-off objects
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
22-LayoutTests
22-LayoutTests.patch (text/plain), 62.60 KB, created by
Said Abou-Hallawa
on 2018-12-08 11:34:41 PST
(
hide
)
Description:
22-LayoutTests
Filename:
MIME Type:
Creator:
Said Abou-Hallawa
Created:
2018-12-08 11:34:41 PST
Size:
62.60 KB
patch
obsolete
>diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 97b8dca5c0c..b0a58e6fcc1 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,50 @@ >+2018-12-08 Said Abou-Hallawa <sabouhallawa@apple.com> >+ >+ Remove SVG properties tear-off objects >+ https://bugs.webkit.org/show_bug.cgi?id=191237 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ These changes are because the the SVG list interface has changed from >+ SVG1.1 and SVG2. See: >+ https://www.w3.org/TR/SVG11/types.html#InterfaceSVGLengthList >+ https://www.w3.org/TR/SVG/types.html#TermListInterface >+ >+ The biggest difference is related to inserting an newItem into a list >+ and the newItem is attached to another list. SVG1.1 states that the >+ newItem from its old list before adding it to the new list. SVG2 states >+ that only a copy of the newItem will be inserted. >+ >+ * svg/animations/svglength-element-removed-crash.svg: >+ * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt: >+ * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html: >+ * svg/dom/SVGLengthList-appendItem-expected.txt: >+ * svg/dom/SVGLengthList-appendItem.xhtml: >+ * svg/dom/SVGLengthList-basics-expected.txt: >+ * svg/dom/SVGLengthList-basics.xhtml: >+ * svg/dom/SVGLengthList-initialize-expected.txt: >+ * svg/dom/SVGLengthList-initialize.xhtml: >+ * svg/dom/SVGLengthList-insertItemBefore-expected.txt: >+ * svg/dom/SVGLengthList-insertItemBefore.xhtml: >+ * svg/dom/SVGLengthList-removeItem-expected.txt: >+ * svg/dom/SVGLengthList-removeItem.xhtml: >+ * svg/dom/SVGLengthList-replaceItem-expected.txt: >+ * svg/dom/SVGLengthList-replaceItem.xhtml: >+ * svg/dom/SVGNumberList-basics-expected.txt: >+ * svg/dom/SVGNumberList-basics.xhtml: >+ * svg/dom/SVGPathSegList-appendItem-expected.txt: >+ * svg/dom/SVGPathSegList-appendItem.xhtml: >+ * svg/dom/SVGPathSegList-clear-and-initialize-expected.txt: >+ * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: >+ * svg/dom/SVGPathSegList-insertItemBefore-expected.txt: >+ * svg/dom/SVGPathSegList-insertItemBefore.xhtml: >+ * svg/dom/SVGPathSegList-replaceItem-expected.txt: >+ * svg/dom/SVGPathSegList-replaceItem.xhtml: >+ * svg/dom/SVGPointList-basics-expected.txt: >+ * svg/dom/SVGPointList-basics.xhtml: >+ * svg/dom/SVGTransformList-basics-expected.txt: >+ * svg/dom/SVGTransformList-basics.xhtml: >+ > 2018-11-30 Youenn Fablet <youenn@apple.com> > > Test that CSS subresource loading are exposed to resource timing in case of a CORS loaded CSS stylesheet but not imported stylesheets >diff --git a/LayoutTests/svg/animations/svglength-element-removed-crash.svg b/LayoutTests/svg/animations/svglength-element-removed-crash.svg >index 511cd63f2a3..b132c76fb1a 100644 >--- a/LayoutTests/svg/animations/svglength-element-removed-crash.svg >+++ b/LayoutTests/svg/animations/svglength-element-removed-crash.svg >@@ -32,8 +32,8 @@ function load() { > // The rest of this test should FAIL without requiring gmalloc if this test has regressed. > var liveDelta = window.internals.numberOfLiveNodes() - originalLiveElements; > >- // Make sure that the <rect> is still alive; if it's not, liveDelta will be -1. >- if (liveDelta == 0) >+ // Make sure that the <rect> is deleted; if it's not, liveDelta will be 0. >+ if (liveDelta == -1) > log(" PASS"); > else > log(" FAIL: " + liveDelta + " extra live node(s)"); >diff --git a/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt b/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt >index a1249f95087..bfe48581fa1 100644 >--- a/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt >+++ b/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement-expected.txt >@@ -101,16 +101,16 @@ PASS markerElement.getAttribute('orient') is "10deg" > > Test case sensitivity of attributes - try setting invalid values > PASS markerElement.setAttribute('orient', 'AUTO-START-REVERSE') did not throw exception. >-FAIL markerElement.getAttribute('orient') should be AUTO-START-REVERSE. Was 10deg. >-PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE >+PASS markerElement.getAttribute('orient') is "AUTO-START-REVERSE" >+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_UNKNOWN > PASS markerElement.setAttribute('orient', 'AUTO') did not throw exception. >-FAIL markerElement.getAttribute('orient') should be AUTO. Was 10deg. >-PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE >+PASS markerElement.getAttribute('orient') is "AUTO" >+PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_UNKNOWN > > Switch back to 'auto' value > PASS markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO >-PASS markerElement.orientAngle.baseVal.value is 10 >-PASS markerElement.orientAngle.baseVal.unitType is SVGAngle.SVG_ANGLETYPE_DEG >+PASS markerElement.orientAngle.baseVal.value is 0 >+PASS markerElement.orientAngle.baseVal.unitType is SVGAngle.SVG_ANGLETYPE_UNSPECIFIED > PASS markerElement.orientType.baseVal is SVGMarkerElement.SVG_MARKER_ORIENT_AUTO > PASS markerElement.getAttribute('orient') is "auto" > >diff --git a/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html b/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html >index c0cda198b6f..2c5e670cce7 100644 >--- a/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html >+++ b/LayoutTests/svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html >@@ -132,24 +132,18 @@ shouldBeEqualToString("markerElement.getAttribute('orient')", "10deg"); > debug(""); > debug("Test case sensitivity of attributes - try setting invalid values"); > shouldNotThrow("markerElement.setAttribute('orient', 'AUTO-START-REVERSE')"); >-// The line below fails as a result of https://bugs.webkit.org/show_bug.cgi?id=154141 >-// The attribute value is not updated to the invalid value. >-// The expected result recognises this and should be updated when the above bug >-// is resolved. >-// What's important here though is that the DOM values are unchanged, and this >-// is demonstrated correctly. > shouldBeEqualToString("markerElement.getAttribute('orient')", "AUTO-START-REVERSE"); >-shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE"); >+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_UNKNOWN"); > > shouldNotThrow("markerElement.setAttribute('orient', 'AUTO')"); > shouldBeEqualToString("markerElement.getAttribute('orient')", "AUTO"); >-shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE"); >+shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_UNKNOWN"); > > debug(""); > debug("Switch back to 'auto' value"); > shouldBe("markerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO"); >-shouldBe("markerElement.orientAngle.baseVal.value", "10"); >-shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_DEG"); >+shouldBe("markerElement.orientAngle.baseVal.value", "0"); >+shouldBe("markerElement.orientAngle.baseVal.unitType", "SVGAngle.SVG_ANGLETYPE_UNSPECIFIED"); > shouldBe("markerElement.orientType.baseVal", "SVGMarkerElement.SVG_MARKER_ORIENT_AUTO"); > shouldBeEqualToString("markerElement.getAttribute('orient')", "auto"); > >diff --git a/LayoutTests/svg/dom/SVGLengthList-appendItem-expected.txt b/LayoutTests/svg/dom/SVGLengthList-appendItem-expected.txt >index d45a9940a34..e6a69d9a382 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-appendItem-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-appendItem-expected.txt >@@ -27,7 +27,8 @@ PASS text2.x.baseVal.getItem(2).value is 1000 > PASS text2.x.baseVal.getItem(3) threw exception IndexSizeError: The index is not in the allowed range.. > > Append fourth item x=900 to the text1 x list >-PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3)) is text1.x.baseVal.getItem(4) >+PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3)) is text1.x.baseVal.getItem(5) >+PASS text1.x.baseVal.removeItem(3).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 5 > PASS text1.x.baseVal.getItem(0).value is 500 > PASS text1.x.baseVal.getItem(1).value is 50 >@@ -37,7 +38,8 @@ PASS text1.x.baseVal.getItem(4).value is 900 > PASS text1.x.baseVal.getItem(5) threw exception IndexSizeError: The index is not in the allowed range.. > > Append first item x=500 to the text1 x list >-PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0)) is text1.x.baseVal.getItem(4) >+PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0)) is text1.x.baseVal.getItem(5) >+PASS text1.x.baseVal.removeItem(0).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 5 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >@@ -59,7 +61,9 @@ PASS text1.x.baseVal.getItem(6) threw exception IndexSizeError: The index is not > > Append third and fourth item of the text1 x list to the text2 x list > PASS text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 1000 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 900 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 4 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >@@ -77,10 +81,14 @@ PASS newLength2.value is 150 > > Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists > PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 500 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(newLength2).value is 150 > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value is 1000 >+PASS text2.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(3)).value is 900 >+PASS text2.x.baseVal.removeItem(3).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value is 1000 >+PASS text2.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 4 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >diff --git a/LayoutTests/svg/dom/SVGLengthList-appendItem.xhtml b/LayoutTests/svg/dom/SVGLengthList-appendItem.xhtml >index 49ec802bee7..eb54b951250 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-appendItem.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-appendItem.xhtml >@@ -46,7 +46,8 @@ > > debug(""); > debug("Append fourth item x=900 to the text1 x list"); >- shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3))", "text1.x.baseVal.getItem(4)"); >+ shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3))", "text1.x.baseVal.getItem(5)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(3).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "5"); > shouldBe("text1.x.baseVal.getItem(0).value", "500"); > shouldBe("text1.x.baseVal.getItem(1).value", "50"); >@@ -57,7 +58,8 @@ > > debug(""); > debug("Append first item x=500 to the text1 x list"); >- shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0))", "text1.x.baseVal.getItem(4)"); >+ shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0))", "text1.x.baseVal.getItem(5)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(0).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "5"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >@@ -81,7 +83,9 @@ > debug(""); > debug("Append third and fourth item of the text1 x list to the text2 x list"); > shouldBe("text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "900"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "4"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >@@ -103,10 +107,14 @@ > debug(""); > debug("Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists"); > shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "500"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(newLength2).value", "150"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(3)).value", "900"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(3).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "4"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >diff --git a/LayoutTests/svg/dom/SVGLengthList-basics-expected.txt b/LayoutTests/svg/dom/SVGLengthList-basics-expected.txt >index 70256c8828a..aff90b23a90 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-basics-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-basics-expected.txt >@@ -29,24 +29,28 @@ PASS text1.x.baseVal.insertItemBefore('aString') threw exception TypeError: Not > PASS text1.x.baseVal.insertItemBefore(text1) threw exception TypeError: Not enough arguments. > PASS text1.x.baseVal.insertItemBefore(null) threw exception TypeError: Not enough arguments. > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 'aString') is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 3 > PASS text1.x.baseVal.getItem(0).value is 1000 > PASS text1.x.baseVal.getItem(1).value is 500 > PASS text1.x.baseVal.getItem(2).value is 1500 > PASS text1.getAttribute('x') is "1000 500 1500" > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), text1) is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > 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.getAttribute('x') is "500 1000 1500" > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), null) is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 3 > PASS text1.x.baseVal.getItem(0).value is 1000 > PASS text1.x.baseVal.getItem(1).value is 500 > PASS text1.x.baseVal.getItem(2).value is 1500 > PASS text1.getAttribute('x') is "1000 500 1500" > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0) is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > 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 >@@ -62,10 +66,13 @@ PASS text1.setAttribute('x', '1 2 3 4') is undefined. > > Test edge cases for insertItemBefore() > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(3), 3) is text1.x.baseVal.getItem(3) >+PASS text1.x.baseVal.removeItem(4).toString() is "[object SVGLength]" > PASS text1.getAttribute('x') is "1 2 3 4" >-PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5) is text1.x.baseVal.getItem(3) >+PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5) is text1.x.baseVal.getItem(4) >+PASS text1.x.baseVal.removeItem(1).toString() is "[object SVGLength]" > PASS text1.getAttribute('x') is "1 3 4 2" > PASS text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0) is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.getAttribute('x') is "3 1 4 2" > > Set x='1 2 3 4' for text1 >@@ -111,7 +118,8 @@ Test edge cases for replaceItem() > PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 3) is text1.x.baseVal.getItem(3) > PASS text1.x.baseVal.numberOfItems is 4 > PASS text1.getAttribute('x') is "1 2 3 4" >-PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3) is text1.x.baseVal.getItem(2) >+PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3) is text1.x.baseVal.getItem(3) >+PASS text1.x.baseVal.removeItem(1).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 3 > PASS text1.getAttribute('x') is "1 3 2" > PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 4) threw exception IndexSizeError: The index is not in the allowed range.. >@@ -120,13 +128,16 @@ Set x='1 2 3 4' for text1 > PASS text1.setAttribute('x', '1 2 3 4') is undefined. > > Test overlapping edge cases for replaceItem() >-PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 3) is text1.x.baseVal.getItem(2) >+PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 3) is text1.x.baseVal.getItem(3) >+PASS text1.x.baseVal.removeItem(0).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 3 > PASS text1.x.baseVal.getItem(2).value is 2 >-PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 2) is text1.x.baseVal.getItem(1) >+PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 2) is text1.x.baseVal.getItem(2) >+PASS text1.x.baseVal.removeItem(0).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 2 > PASS text1.x.baseVal.getItem(1).value is 4 >-PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 1) is text1.x.baseVal.getItem(0) >+PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 1) is text1.x.baseVal.getItem(1) >+PASS text1.x.baseVal.removeItem(1).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 1 > PASS text1.x.baseVal.getItem(0).value is 6 > PASS text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 0) is text1.x.baseVal.getItem(0) >diff --git a/LayoutTests/svg/dom/SVGLengthList-basics.xhtml b/LayoutTests/svg/dom/SVGLengthList-basics.xhtml >index 415ed90e86c..a783101ab33 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-basics.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-basics.xhtml >@@ -50,6 +50,7 @@ > shouldThrow("text1.x.baseVal.insertItemBefore(null)"); > > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 'aString')", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > shouldBe("text1.x.baseVal.getItem(0).value", "1000"); > shouldBe("text1.x.baseVal.getItem(1).value", "500"); >@@ -57,6 +58,7 @@ > shouldBeEqualToString("text1.getAttribute('x')", "1000 500 1500"); > > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), text1)", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > shouldBe("text1.x.baseVal.getItem(0).value", "500"); > shouldBe("text1.x.baseVal.getItem(1).value", "1000"); >@@ -64,6 +66,7 @@ > shouldBeEqualToString("text1.getAttribute('x')", "500 1000 1500"); > > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), null)", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > shouldBe("text1.x.baseVal.getItem(0).value", "1000"); > shouldBe("text1.x.baseVal.getItem(1).value", "500"); >@@ -71,6 +74,7 @@ > shouldBeEqualToString("text1.getAttribute('x')", "1000 500 1500"); > > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0)", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > shouldBe("text1.x.baseVal.getItem(0).value", "500"); > shouldBe("text1.x.baseVal.getItem(1).value", "1000"); >@@ -89,10 +93,13 @@ > debug(""); > debug("Test edge cases for insertItemBefore()"); > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(3), 3)", "text1.x.baseVal.getItem(3)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(4).toString()", "[object SVGLength]"); > shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); >- shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5)", "text1.x.baseVal.getItem(3)"); >+ shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5)", "text1.x.baseVal.getItem(4)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(1).toString()", "[object SVGLength]"); > shouldBeEqualToString("text1.getAttribute('x')", "1 3 4 2"); > shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0)", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBeEqualToString("text1.getAttribute('x')", "3 1 4 2"); > > debug(""); >@@ -145,7 +152,8 @@ > shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 3)", "text1.x.baseVal.getItem(3)"); > shouldBe("text1.x.baseVal.numberOfItems", "4"); > shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); >- shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3)", "text1.x.baseVal.getItem(2)"); >+ shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3)", "text1.x.baseVal.getItem(3)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(1).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > shouldBeEqualToString("text1.getAttribute('x')", "1 3 2"); > shouldThrow("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 4)"); >@@ -157,17 +165,20 @@ > debug(""); > debug("Test overlapping edge cases for replaceItem()"); > var item = text1.x.baseVal.getItem(3); >- shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 3)", "text1.x.baseVal.getItem(2)"); >+ shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 3)", "text1.x.baseVal.getItem(3)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(0).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "3"); > item = text1.x.baseVal.getItem(2); > item.newValueSpecifiedUnits(item.unitType, item.value * 2); > shouldBe("text1.x.baseVal.getItem(2).value", "2"); >- shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 2)", "text1.x.baseVal.getItem(1)"); >+ shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 2)", "text1.x.baseVal.getItem(2)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(0).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "2"); > item = text1.x.baseVal.getItem(1); > item.newValueSpecifiedUnits(item.unitType, item.value * 2); > shouldBe("text1.x.baseVal.getItem(1).value", "4"); >- shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 1)", "text1.x.baseVal.getItem(0)"); >+ shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 1)", "text1.x.baseVal.getItem(1)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(1).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "1"); > item = text1.x.baseVal.getItem(0); > item.newValueSpecifiedUnits(item.unitType, item.value * 2); >diff --git a/LayoutTests/svg/dom/SVGLengthList-initialize-expected.txt b/LayoutTests/svg/dom/SVGLengthList-initialize-expected.txt >index 8c6fe2d2f81..9d9006e71df 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-initialize-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-initialize-expected.txt >@@ -45,7 +45,8 @@ PASS text2.x.baseVal.getItem(1).value is 500 > PASS text2.x.baseVal.getItem(1).value is 50 > > Override the third text elements x list with the item x=50 from the second text element, where it should be removed afterwards >-PASS text3.x.baseVal.initialize(itemInAnotherList) is itemInAnotherList >+PASS text3.x.baseVal.initialize(itemInAnotherList) is text3.x.baseVal.getItem(0) >+PASS text2.x.baseVal.removeItem(1).toString() is "[object SVGLength]" > PASS text3.x.baseVal.getItem(0).value is 50 > PASS text2.x.baseVal.getItem(0).value is 50 > PASS text2.x.baseVal.getItem(1) threw exception IndexSizeError: The index is not in the allowed range.. >@@ -59,7 +60,8 @@ PASS itemInAnotherList.value is 50 > PASS text3.x.baseVal.getItem(0).value is 50 > > Move item from text3 to text4 >-PASS text4.x.baseVal.initialize(text3.x.baseVal.getItem(0)) is itemInAnotherList >+PASS text4.x.baseVal.initialize(text3.x.baseVal.getItem(0)) is text4.x.baseVal.getItem(0) >+PASS text3.x.baseVal.removeItem(0).toString() is "[object SVGLength]" > PASS text4.x.baseVal.getItem(0).value is 50 > PASS text3.x.baseVal.getItem(0) threw exception IndexSizeError: The index is not in the allowed range.. > >diff --git a/LayoutTests/svg/dom/SVGLengthList-initialize.xhtml b/LayoutTests/svg/dom/SVGLengthList-initialize.xhtml >index 63ebf3fa652..ed27d0445e8 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-initialize.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-initialize.xhtml >@@ -71,11 +71,12 @@ > itemInAnotherList.value = 50; > shouldBe("text2.x.baseVal.getItem(1).value", "50"); > >- // Spec: If the inserted item is already in a list, it is removed from its previous list before it is inserted into this list. >- // The inserted item is the item itself and not a copy. >+ // Spec: If the inserted item is already in a list, a copy of the item will be inserted. > debug(""); > debug("Override the third text elements x list with the item x=50 from the second text element, where it should be removed afterwards"); >- shouldBe("text3.x.baseVal.initialize(itemInAnotherList)", "itemInAnotherList"); >+ shouldBe("text3.x.baseVal.initialize(itemInAnotherList)", "text3.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(1).toString()", "[object SVGLength]"); >+ itemInAnotherList = text3.x.baseVal.getItem(0); > shouldBe("text3.x.baseVal.getItem(0).value", "50"); > shouldBe("text2.x.baseVal.getItem(0).value", "50"); > shouldThrow("text2.x.baseVal.getItem(1)"); >@@ -91,7 +92,8 @@ > > debug(""); > debug("Move item from text3 to text4"); >- shouldBe("text4.x.baseVal.initialize(text3.x.baseVal.getItem(0))", "itemInAnotherList"); >+ shouldBe("text4.x.baseVal.initialize(text3.x.baseVal.getItem(0))", "text4.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text3.x.baseVal.removeItem(0).toString()", "[object SVGLength]"); > shouldBe("text4.x.baseVal.getItem(0).value", "50"); > shouldThrow("text3.x.baseVal.getItem(0)"); > >diff --git a/LayoutTests/svg/dom/SVGLengthList-insertItemBefore-expected.txt b/LayoutTests/svg/dom/SVGLengthList-insertItemBefore-expected.txt >index 191f3464a1d..ba825bf1766 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-insertItemBefore-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-insertItemBefore-expected.txt >@@ -62,7 +62,8 @@ 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 newLength3 >+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 >@@ -73,7 +74,8 @@ 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 newLength1 >+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 >diff --git a/LayoutTests/svg/dom/SVGLengthList-insertItemBefore.xhtml b/LayoutTests/svg/dom/SVGLengthList-insertItemBefore.xhtml >index e1dfe188a68..ac678ea59d8 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-insertItemBefore.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-insertItemBefore.xhtml >@@ -96,11 +96,11 @@ > shouldBe("text1.x.baseVal.getItem(5).value", "50"); > shouldThrow("text1.x.baseVal.getItem(6)"); > >- // Spec: If newItem is already in a list, it is removed from its previous list before it is inserted into this list. >- // Spec: If the item is already in this list, note that the index of the item to insert before is before the removal of the item. >+ // Spec: If newItem is already in a list, a clone of newItem inserted into this list. > debug(""); > debug("Insert item 'newLength3' at position=1, between '100' and '500', remove it from the old position=2 afterwards."); >- shouldBe("text1.x.baseVal.insertItemBefore(newLength3, 1)", "newLength3"); >+ shouldBe("text1.x.baseVal.insertItemBefore(newLength3, 1)", "text1.x.baseVal.getItem(1)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(3).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "6"); > shouldBe("text1.x.baseVal.getItem(0).value", "100"); > shouldBe("text1.x.baseVal.getItem(1).value", "150"); >@@ -112,7 +112,8 @@ > > debug(""); > debug("Insert item 'newLength3' at position=0, before '100', remove it from the old position=5 afterwards."); >- shouldBe("text1.x.baseVal.insertItemBefore(newLength1, 0)", "newLength1"); >+ shouldBe("text1.x.baseVal.insertItemBefore(newLength1, 0)", "text1.x.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(6).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "6"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >diff --git a/LayoutTests/svg/dom/SVGLengthList-removeItem-expected.txt b/LayoutTests/svg/dom/SVGLengthList-removeItem-expected.txt >index d45a9940a34..e6a69d9a382 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-removeItem-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-removeItem-expected.txt >@@ -27,7 +27,8 @@ PASS text2.x.baseVal.getItem(2).value is 1000 > PASS text2.x.baseVal.getItem(3) threw exception IndexSizeError: The index is not in the allowed range.. > > Append fourth item x=900 to the text1 x list >-PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3)) is text1.x.baseVal.getItem(4) >+PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3)) is text1.x.baseVal.getItem(5) >+PASS text1.x.baseVal.removeItem(3).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 5 > PASS text1.x.baseVal.getItem(0).value is 500 > PASS text1.x.baseVal.getItem(1).value is 50 >@@ -37,7 +38,8 @@ PASS text1.x.baseVal.getItem(4).value is 900 > PASS text1.x.baseVal.getItem(5) threw exception IndexSizeError: The index is not in the allowed range.. > > Append first item x=500 to the text1 x list >-PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0)) is text1.x.baseVal.getItem(4) >+PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0)) is text1.x.baseVal.getItem(5) >+PASS text1.x.baseVal.removeItem(0).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 5 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >@@ -59,7 +61,9 @@ PASS text1.x.baseVal.getItem(6) threw exception IndexSizeError: The index is not > > Append third and fourth item of the text1 x list to the text2 x list > PASS text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 1000 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 900 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 4 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >@@ -77,10 +81,14 @@ PASS newLength2.value is 150 > > Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists > PASS text1.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value is 500 >+PASS text1.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(newLength2).value is 150 > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value is 1000 >+PASS text2.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(3)).value is 900 >+PASS text2.x.baseVal.removeItem(3).toString() is "[object SVGLength]" > PASS text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value is 1000 >+PASS text2.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text1.x.baseVal.numberOfItems is 4 > PASS text1.x.baseVal.getItem(0).value is 50 > PASS text1.x.baseVal.getItem(1).value is 100 >diff --git a/LayoutTests/svg/dom/SVGLengthList-removeItem.xhtml b/LayoutTests/svg/dom/SVGLengthList-removeItem.xhtml >index 49ec802bee7..eb54b951250 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-removeItem.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-removeItem.xhtml >@@ -46,7 +46,8 @@ > > debug(""); > debug("Append fourth item x=900 to the text1 x list"); >- shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3))", "text1.x.baseVal.getItem(4)"); >+ shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(3))", "text1.x.baseVal.getItem(5)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(3).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "5"); > shouldBe("text1.x.baseVal.getItem(0).value", "500"); > shouldBe("text1.x.baseVal.getItem(1).value", "50"); >@@ -57,7 +58,8 @@ > > debug(""); > debug("Append first item x=500 to the text1 x list"); >- shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0))", "text1.x.baseVal.getItem(4)"); >+ shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(0))", "text1.x.baseVal.getItem(5)"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(0).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "5"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >@@ -81,7 +83,9 @@ > debug(""); > debug("Append third and fourth item of the text1 x list to the text2 x list"); > shouldBe("text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "900"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "4"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >@@ -103,10 +107,14 @@ > debug(""); > debug("Shuffle around items in text1 and text2 list using appendItem, to get x=50,100,150,... in both lists"); > shouldBe("text1.x.baseVal.appendItem(text1.x.baseVal.getItem(2)).value", "500"); >+ shouldBeEqualToString("text1.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(newLength2).value", "150"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(3)).value", "900"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(3).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.appendItem(text2.x.baseVal.getItem(2)).value", "1000"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text1.x.baseVal.numberOfItems", "4"); > shouldBe("text1.x.baseVal.getItem(0).value", "50"); > shouldBe("text1.x.baseVal.getItem(1).value", "100"); >diff --git a/LayoutTests/svg/dom/SVGLengthList-replaceItem-expected.txt b/LayoutTests/svg/dom/SVGLengthList-replaceItem-expected.txt >index b1389167a18..5ba61032161 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-replaceItem-expected.txt >+++ b/LayoutTests/svg/dom/SVGLengthList-replaceItem-expected.txt >@@ -46,6 +46,7 @@ PASS text2.x.baseVal.getItem(4) threw exception IndexSizeError: The index is not > > Replace the first item in text2 x list with the third item in the list > PASS text2.x.baseVal.replaceItem(text2.x.baseVal.getItem(2), 0).value is 50 >+PASS text2.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text2.x.baseVal.numberOfItems is 3 > PASS text2.x.baseVal.getItem(0).value is 50 > PASS text2.x.baseVal.getItem(1).value is 100 >@@ -70,6 +71,7 @@ PASS text4.x.baseVal.getItem(4) threw exception IndexSizeError: The index is not > > Replace the first item in text4 x list with the second item in the text3 x list > PASS text4.x.baseVal.replaceItem(text3.x.baseVal.getItem(1), 0).value is 50 >+PASS text3.x.baseVal.removeItem(1).toString() is "[object SVGLength]" > PASS text3.x.baseVal.numberOfItems is 4 > PASS text3.x.baseVal.getItem(0).value is 50 > PASS text3.x.baseVal.getItem(1).value is 100 >@@ -85,6 +87,7 @@ PASS text4.x.baseVal.getItem(4) threw exception IndexSizeError: The index is not > > Replace the second item in text4 x list with the second item in the text4 x list > PASS text4.x.baseVal.replaceItem(text3.x.baseVal.getItem(2), 1).value is 100 >+PASS text3.x.baseVal.removeItem(2).toString() is "[object SVGLength]" > PASS text4.x.baseVal.numberOfItems is 4 > PASS text4.x.baseVal.getItem(0).value is 50 > PASS text4.x.baseVal.getItem(1).value is 100 >diff --git a/LayoutTests/svg/dom/SVGLengthList-replaceItem.xhtml b/LayoutTests/svg/dom/SVGLengthList-replaceItem.xhtml >index b6824a4c9aa..cb74d43b159 100644 >--- a/LayoutTests/svg/dom/SVGLengthList-replaceItem.xhtml >+++ b/LayoutTests/svg/dom/SVGLengthList-replaceItem.xhtml >@@ -75,6 +75,7 @@ > debug(""); > debug("Replace the first item in text2 x list with the third item in the list"); > shouldBe("text2.x.baseVal.replaceItem(text2.x.baseVal.getItem(2), 0).value", "50"); >+ shouldBeEqualToString("text2.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text2.x.baseVal.numberOfItems", "3"); > shouldBe("text2.x.baseVal.getItem(0).value", "50"); > shouldBe("text2.x.baseVal.getItem(1).value", "100"); >@@ -102,6 +103,7 @@ > debug(""); > debug("Replace the first item in text4 x list with the second item in the text3 x list"); > shouldBe("text4.x.baseVal.replaceItem(text3.x.baseVal.getItem(1), 0).value", "50"); >+ shouldBeEqualToString("text3.x.baseVal.removeItem(1).toString()", "[object SVGLength]"); > shouldBe("text3.x.baseVal.numberOfItems", "4"); > shouldBe("text3.x.baseVal.getItem(0).value", "50"); > shouldBe("text3.x.baseVal.getItem(1).value", "100"); >@@ -118,6 +120,7 @@ > debug(""); > debug("Replace the second item in text4 x list with the second item in the text4 x list"); > shouldBe("text4.x.baseVal.replaceItem(text3.x.baseVal.getItem(2), 1).value", "100"); >+ shouldBeEqualToString("text3.x.baseVal.removeItem(2).toString()", "[object SVGLength]"); > shouldBe("text4.x.baseVal.numberOfItems", "4"); > shouldBe("text4.x.baseVal.getItem(0).value", "50"); > shouldBe("text4.x.baseVal.getItem(1).value", "100"); >diff --git a/LayoutTests/svg/dom/SVGNumberList-basics-expected.txt b/LayoutTests/svg/dom/SVGNumberList-basics-expected.txt >index 9414957e7ab..6098ae2bed6 100644 >--- a/LayoutTests/svg/dom/SVGNumberList-basics-expected.txt >+++ b/LayoutTests/svg/dom/SVGNumberList-basics-expected.txt >@@ -26,24 +26,28 @@ PASS text1.rotate.baseVal.insertItemBefore('aString') threw exception TypeError: > 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 >diff --git a/LayoutTests/svg/dom/SVGNumberList-basics.xhtml b/LayoutTests/svg/dom/SVGNumberList-basics.xhtml >index cc4a96eeeca..d91a3428bfe 100644 >--- a/LayoutTests/svg/dom/SVGNumberList-basics.xhtml >+++ b/LayoutTests/svg/dom/SVGNumberList-basics.xhtml >@@ -47,6 +47,7 @@ > shouldThrow("text1.rotate.baseVal.insertItemBefore(null)"); > > shouldBe("text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), 'aString')", "text1.rotate.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.rotate.baseVal.removeItem(2).toString()", "[object SVGNumber]"); > shouldBe("text1.rotate.baseVal.numberOfItems", "3"); > shouldBe("text1.rotate.baseVal.getItem(0).value", "180"); > shouldBe("text1.rotate.baseVal.getItem(1).value", "90"); >@@ -54,6 +55,7 @@ > shouldBeEqualToString("text1.getAttribute('rotate')", "180 90 270"); > > shouldBe("text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), text1)", "text1.rotate.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.rotate.baseVal.removeItem(2).toString()", "[object SVGNumber]"); > shouldBe("text1.rotate.baseVal.numberOfItems", "3"); > shouldBe("text1.rotate.baseVal.getItem(0).value", "90"); > shouldBe("text1.rotate.baseVal.getItem(1).value", "180"); >@@ -61,6 +63,7 @@ > shouldBeEqualToString("text1.getAttribute('rotate')", "90 180 270"); > > shouldBe("text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), null)", "text1.rotate.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.rotate.baseVal.removeItem(2).toString()", "[object SVGNumber]"); > shouldBe("text1.rotate.baseVal.numberOfItems", "3"); > shouldBe("text1.rotate.baseVal.getItem(0).value", "180"); > shouldBe("text1.rotate.baseVal.getItem(1).value", "90"); >@@ -68,6 +71,7 @@ > shouldBeEqualToString("text1.getAttribute('rotate')", "180 90 270"); > > shouldBe("text1.rotate.baseVal.insertItemBefore(text1.rotate.baseVal.getItem(1), 0)", "text1.rotate.baseVal.getItem(0)"); >+ shouldBeEqualToString("text1.rotate.baseVal.removeItem(2).toString()", "[object SVGNumber]"); > shouldBe("text1.rotate.baseVal.numberOfItems", "3"); > shouldBe("text1.rotate.baseVal.getItem(0).value", "90"); > shouldBe("text1.rotate.baseVal.getItem(1).value", "180"); >diff --git a/LayoutTests/svg/dom/SVGPathSegList-appendItem-expected.txt b/LayoutTests/svg/dom/SVGPathSegList-appendItem-expected.txt >index 833738d73f2..44da68abd64 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-appendItem-expected.txt >+++ b/LayoutTests/svg/dom/SVGPathSegList-appendItem-expected.txt >@@ -36,9 +36,11 @@ PASS path2.pathSegList.getItem(3).x = -path2.pathSegList.getItem(3).x is -100 > > Swap segment four and five of path2 - now should look like a rectangle > PASS path2.pathSegList.appendItem(path2.pathSegList.getItem(3)).toString() is "[object SVGPathSegLinetoHorizontalRel]" >+PASS path2.pathSegList.removeItem(3).toString() is "[object SVGPathSegLinetoHorizontalRel]" > > Append second item from path2 to path1 list > PASS path1.pathSegList.appendItem(path2.pathSegList.getItem(1)).toString() is "[object SVGPathSegLinetoAbs]" >+PASS path2.pathSegList.removeItem(1).toString() is "[object SVGPathSegLinetoAbs]" > > Change last item of path1 list, that came from path2 list, assure it's updating path1 > PASS path1.pathSegList.getItem(3).x -= 50 is 0 >diff --git a/LayoutTests/svg/dom/SVGPathSegList-appendItem.xhtml b/LayoutTests/svg/dom/SVGPathSegList-appendItem.xhtml >index be5dd7f49ea..d5d899c8470 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-appendItem.xhtml >+++ b/LayoutTests/svg/dom/SVGPathSegList-appendItem.xhtml >@@ -57,10 +57,12 @@ > debug("") > debug("Swap segment four and five of path2 - now should look like a rectangle"); > shouldBeEqualToString("path2.pathSegList.appendItem(path2.pathSegList.getItem(3)).toString()", "[object SVGPathSegLinetoHorizontalRel]"); >+ shouldBeEqualToString("path2.pathSegList.removeItem(3).toString()", "[object SVGPathSegLinetoHorizontalRel]"); > > debug(""); > debug("Append second item from path2 to path1 list"); > shouldBeEqualToString("path1.pathSegList.appendItem(path2.pathSegList.getItem(1)).toString()", "[object SVGPathSegLinetoAbs]"); >+ shouldBeEqualToString("path2.pathSegList.removeItem(1).toString()", "[object SVGPathSegLinetoAbs]"); > > debug(""); > debug("Change last item of path1 list, that came from path2 list, assure it's updating path1"); >diff --git a/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize-expected.txt b/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize-expected.txt >index 2875461d992..1ea17b70a62 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize-expected.txt >+++ b/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize-expected.txt >@@ -59,6 +59,7 @@ PASS path2.pathSegList.getItem(2).y is 0 > > Initialize path1 list with first item of path2 > PASS path1.pathSegList.initialize(path2.pathSegList.getItem(0)).toString() is "[object SVGPathSegMovetoAbs]" >+PASS path2.pathSegList.removeItem(0).toString() is "[object SVGPathSegMovetoAbs]" > > Check intermediate list state of path1 > PASS path1.pathSegList.numberOfItems is 1 >diff --git a/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize.xhtml b/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize.xhtml >index f61654518e7..ae5aa071c86 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize.xhtml >+++ b/LayoutTests/svg/dom/SVGPathSegList-clear-and-initialize.xhtml >@@ -85,6 +85,7 @@ > debug(""); > debug("Initialize path1 list with first item of path2"); > shouldBeEqualToString("path1.pathSegList.initialize(path2.pathSegList.getItem(0)).toString()", "[object SVGPathSegMovetoAbs]"); >+ shouldBeEqualToString("path2.pathSegList.removeItem(0).toString()", "[object SVGPathSegMovetoAbs]"); > > debug(""); > debug("Check intermediate list state of path1"); >diff --git a/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore-expected.txt b/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore-expected.txt >index ca43b3de6c8..7767d124a75 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore-expected.txt >+++ b/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore-expected.txt >@@ -21,6 +21,7 @@ PASS path1.pathSegList.getItem(3).y is 100 > > Insert fourth item at position three using insertItemBefore() > PASS path1.pathSegList.insertItemBefore(path1.pathSegList.getItem(3), 2).toString() is "[object SVGPathSegLinetoAbs]" >+PASS path1.pathSegList.removeItem(4).toString() is "[object SVGPathSegLinetoAbs]" > > Check final 'pathSegList' value of path1 > PASS path1.pathSegList.numberOfItems is 4 >diff --git a/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore.xhtml b/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore.xhtml >index f1e390d1101..c87bc94f9f8 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore.xhtml >+++ b/LayoutTests/svg/dom/SVGPathSegList-insertItemBefore.xhtml >@@ -38,6 +38,7 @@ > debug(""); > debug("Insert fourth item at position three using insertItemBefore()"); > shouldBeEqualToString("path1.pathSegList.insertItemBefore(path1.pathSegList.getItem(3), 2).toString()", "[object SVGPathSegLinetoAbs]"); >+ shouldBeEqualToString("path1.pathSegList.removeItem(4).toString()", "[object SVGPathSegLinetoAbs]"); > > debug(""); > debug("Check final 'pathSegList' value of path1"); >diff --git a/LayoutTests/svg/dom/SVGPathSegList-replaceItem-expected.txt b/LayoutTests/svg/dom/SVGPathSegList-replaceItem-expected.txt >index 6b982aacfc7..a785ef2b41d 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-replaceItem-expected.txt >+++ b/LayoutTests/svg/dom/SVGPathSegList-replaceItem-expected.txt >@@ -39,9 +39,11 @@ PASS path2.pathSegList.getItem(3).x is -100 > > Replace second item with third item of path1 > PASS path1.pathSegList.replaceItem(path1.pathSegList.getItem(2), 1).toString() is "[object SVGPathSegLinetoAbs]" >+PASS path1.pathSegList.removeItem(2).toString() is "[object SVGPathSegLinetoAbs]" > > Replace third item of path2 with fourth item of path1 > PASS path2.pathSegList.replaceItem(path1.pathSegList.getItem(3), 2).toString() is "[object SVGPathSegLinetoVerticalRel]" >+PASS path1.pathSegList.removeItem(3).toString() is "[object SVGPathSegLinetoVerticalRel]" > > Check final 'pathSegList' value of path1 > PASS path1.pathSegList.numberOfItems is 4 >diff --git a/LayoutTests/svg/dom/SVGPathSegList-replaceItem.xhtml b/LayoutTests/svg/dom/SVGPathSegList-replaceItem.xhtml >index 7fbfa872d2a..e8b403c4beb 100644 >--- a/LayoutTests/svg/dom/SVGPathSegList-replaceItem.xhtml >+++ b/LayoutTests/svg/dom/SVGPathSegList-replaceItem.xhtml >@@ -59,10 +59,12 @@ > debug(""); > debug("Replace second item with third item of path1"); > shouldBeEqualToString("path1.pathSegList.replaceItem(path1.pathSegList.getItem(2), 1).toString()", "[object SVGPathSegLinetoAbs]"); >+ shouldBeEqualToString("path1.pathSegList.removeItem(2).toString()", "[object SVGPathSegLinetoAbs]"); > > debug(""); > debug("Replace third item of path2 with fourth item of path1"); > shouldBeEqualToString("path2.pathSegList.replaceItem(path1.pathSegList.getItem(3), 2).toString()", "[object SVGPathSegLinetoVerticalRel]"); >+ shouldBeEqualToString("path1.pathSegList.removeItem(3).toString()", "[object SVGPathSegLinetoVerticalRel]"); > > debug(""); > debug("Check final 'pathSegList' value of path1"); >diff --git a/LayoutTests/svg/dom/SVGPointList-basics-expected.txt b/LayoutTests/svg/dom/SVGPointList-basics-expected.txt >index 6f6efdd9394..f12477f9880 100644 >--- a/LayoutTests/svg/dom/SVGPointList-basics-expected.txt >+++ b/LayoutTests/svg/dom/SVGPointList-basics-expected.txt >@@ -45,6 +45,7 @@ PASS poly1.points.insertItemBefore('aString') threw exception TypeError: Not eno > PASS poly1.points.insertItemBefore(poly1) threw exception TypeError: Not enough arguments. > PASS poly1.points.insertItemBefore(null) threw exception TypeError: Not enough arguments. > PASS dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), 'aString')) is "x=100 y=0" >+PASS dumpPoint(poly1.points.removeItem(2, 'aString')) is "x=100 y=0" > PASS poly1.points.numberOfItems is 4 > PASS dumpPoint(poly1.points.getItem(0)) is "x=100 y=0" > PASS dumpPoint(poly1.points.getItem(1)) is "x=0 y=0" >@@ -52,6 +53,7 @@ PASS dumpPoint(poly1.points.getItem(2)) is "x=100 y=100" > PASS dumpPoint(poly1.points.getItem(3)) is "x=0 y=100" > PASS poly1.getAttribute('points').formatPointsAttribute() is "100 0 0 0 100 100 0 100" > PASS dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), poly1)) is "x=0 y=0" >+PASS dumpPoint(poly1.points.removeItem(2, 'aString')) is "x=0 y=0" > PASS poly1.points.numberOfItems is 4 > PASS dumpPoint(poly1.points.getItem(0)) is "x=0 y=0" > PASS dumpPoint(poly1.points.getItem(1)) is "x=100 y=0" >@@ -59,12 +61,14 @@ PASS dumpPoint(poly1.points.getItem(2)) is "x=100 y=100" > PASS dumpPoint(poly1.points.getItem(3)) is "x=0 y=100" > PASS poly1.getAttribute('points').formatPointsAttribute() is "0 0 100 0 100 100 0 100" > PASS dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), null)) is "x=100 y=0" >+PASS dumpPoint(poly1.points.removeItem(2, 'aString')) is "x=100 y=0" > PASS poly1.points.numberOfItems is 4 > PASS dumpPoint(poly1.points.getItem(0)) is "x=100 y=0" > PASS dumpPoint(poly1.points.getItem(1)) is "x=0 y=0" > PASS dumpPoint(poly1.points.getItem(2)) is "x=100 y=100" > PASS poly1.getAttribute('points').formatPointsAttribute() is "100 0 0 0 100 100 0 100" > PASS dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), 0)) is "x=0 y=0" >+PASS dumpPoint(poly1.points.removeItem(2, 'aString')) is "x=0 y=0" > PASS poly1.points.numberOfItems is 4 > PASS dumpPoint(poly1.points.getItem(0)) is "x=0 y=0" > PASS dumpPoint(poly1.points.getItem(1)) is "x=100 y=0" >diff --git a/LayoutTests/svg/dom/SVGPointList-basics.xhtml b/LayoutTests/svg/dom/SVGPointList-basics.xhtml >index a0663983319..f09bfc70268 100644 >--- a/LayoutTests/svg/dom/SVGPointList-basics.xhtml >+++ b/LayoutTests/svg/dom/SVGPointList-basics.xhtml >@@ -77,14 +77,16 @@ > shouldThrow("poly1.points.insertItemBefore(null)"); > > shouldBeEqualToString("dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), 'aString'))", "x=100 y=0"); >+ shouldBeEqualToString("dumpPoint(poly1.points.removeItem(2, 'aString'))", "x=100 y=0"); > shouldBe("poly1.points.numberOfItems", "4"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(0))", "x=100 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(1))", "x=0 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(2))", "x=100 y=100"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(3))", "x=0 y=100"); > shouldBeEqualToString("poly1.getAttribute('points').formatPointsAttribute()", "100 0 0 0 100 100 0 100"); >- >+ > shouldBeEqualToString("dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), poly1))", "x=0 y=0"); >+ shouldBeEqualToString("dumpPoint(poly1.points.removeItem(2, 'aString'))", "x=0 y=0"); > shouldBe("poly1.points.numberOfItems", "4"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(0))", "x=0 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(1))", "x=100 y=0"); >@@ -93,20 +95,22 @@ > shouldBeEqualToString("poly1.getAttribute('points').formatPointsAttribute()", "0 0 100 0 100 100 0 100"); > > shouldBeEqualToString("dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), null))", "x=100 y=0"); >+ shouldBeEqualToString("dumpPoint(poly1.points.removeItem(2, 'aString'))", "x=100 y=0"); > shouldBe("poly1.points.numberOfItems", "4"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(0))", "x=100 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(1))", "x=0 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(2))", "x=100 y=100"); > shouldBeEqualToString("poly1.getAttribute('points').formatPointsAttribute()", "100 0 0 0 100 100 0 100"); >- >+ > shouldBeEqualToString("dumpPoint(poly1.points.insertItemBefore(poly1.points.getItem(1), 0))", "x=0 y=0"); >+ shouldBeEqualToString("dumpPoint(poly1.points.removeItem(2, 'aString'))", "x=0 y=0"); > shouldBe("poly1.points.numberOfItems", "4"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(0))", "x=0 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(1))", "x=100 y=0"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(2))", "x=100 y=100"); > shouldBeEqualToString("dumpPoint(poly1.points.getItem(3))", "x=0 y=100"); > shouldBeEqualToString("poly1.getAttribute('points').formatPointsAttribute()", "0 0 100 0 100 100 0 100"); >- >+ > shouldThrow("poly1.points.insertItemBefore(30, 0)"); > shouldThrow("poly1.points.insertItemBefore('aString', 0)"); > shouldThrow("poly1.points.insertItemBefore(poly1, 0)"); >diff --git a/LayoutTests/svg/dom/SVGTransformList-basics-expected.txt b/LayoutTests/svg/dom/SVGTransformList-basics-expected.txt >index 3ce005eaa4d..f234daf5c00 100644 >--- a/LayoutTests/svg/dom/SVGTransformList-basics-expected.txt >+++ b/LayoutTests/svg/dom/SVGTransformList-basics-expected.txt >@@ -27,21 +27,25 @@ PASS circle1.transform.baseVal.insertItemBefore('aString') threw exception TypeE > PASS circle1.transform.baseVal.insertItemBefore(circle1) threw exception TypeError: Not enough arguments. > PASS circle1.transform.baseVal.insertItemBefore(null) threw exception TypeError: Not enough arguments. > PASS circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), 'aString') is circle1.transform.baseVal.getItem(0) >+PASS dumpTransform(circle1.transform.baseVal.removeItem(2)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" > PASS circle1.transform.baseVal.numberOfItems is 2 > PASS dumpTransform(circle1.transform.baseVal.getItem(0)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" > PASS dumpTransform(circle1.transform.baseVal.getItem(1)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS circle1.getAttribute('transform') is "translate(10 10) scale(2 2)" > PASS circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), circle1) is circle1.transform.baseVal.getItem(0) >+PASS dumpTransform(circle1.transform.baseVal.removeItem(2)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS circle1.transform.baseVal.numberOfItems is 2 > PASS dumpTransform(circle1.transform.baseVal.getItem(0)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS dumpTransform(circle1.transform.baseVal.getItem(1)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" > PASS circle1.getAttribute('transform') is "scale(2 2) translate(10 10)" > PASS circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), null) is circle1.transform.baseVal.getItem(0) >+PASS dumpTransform(circle1.transform.baseVal.removeItem(2)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" > PASS circle1.transform.baseVal.numberOfItems is 2 > PASS dumpTransform(circle1.transform.baseVal.getItem(0)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" > PASS dumpTransform(circle1.transform.baseVal.getItem(1)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS circle1.getAttribute('transform') is "translate(10 10) scale(2 2)" > PASS circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), 0) is circle1.transform.baseVal.getItem(0) >+PASS dumpTransform(circle1.transform.baseVal.removeItem(2)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS circle1.transform.baseVal.numberOfItems is 2 > PASS dumpTransform(circle1.transform.baseVal.getItem(0)) is "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]" > PASS dumpTransform(circle1.transform.baseVal.getItem(1)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]" >diff --git a/LayoutTests/svg/dom/SVGTransformList-basics.xhtml b/LayoutTests/svg/dom/SVGTransformList-basics.xhtml >index fd2cafa689b..1f932c1e07f 100644 >--- a/LayoutTests/svg/dom/SVGTransformList-basics.xhtml >+++ b/LayoutTests/svg/dom/SVGTransformList-basics.xhtml >@@ -74,24 +74,28 @@ > shouldThrow("circle1.transform.baseVal.insertItemBefore(null)"); > > shouldBe("circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), 'aString')", "circle1.transform.baseVal.getItem(0)"); >+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.removeItem(2))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); > shouldBe("circle1.transform.baseVal.numberOfItems", "2"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBeEqualToString("circle1.getAttribute('transform')", "translate(10 10) scale(2 2)"); > > shouldBe("circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), circle1)", "circle1.transform.baseVal.getItem(0)"); >+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.removeItem(2))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBe("circle1.transform.baseVal.numberOfItems", "2"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); > shouldBeEqualToString("circle1.getAttribute('transform')", "scale(2 2) translate(10 10)"); > > shouldBe("circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), null)", "circle1.transform.baseVal.getItem(0)"); >+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.removeItem(2))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); > shouldBe("circle1.transform.baseVal.numberOfItems", "2"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBeEqualToString("circle1.getAttribute('transform')", "translate(10 10) scale(2 2)"); > > shouldBe("circle1.transform.baseVal.insertItemBefore(circle1.transform.baseVal.getItem(1), 0)", "circle1.transform.baseVal.getItem(0)"); >+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.removeItem(2))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBe("circle1.transform.baseVal.numberOfItems", "2"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); > shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]");
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ews-watchlist
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 191237
:
353808
|
353812
|
353815
|
353817
|
353818
|
353820
|
353824
|
353825
|
355382
|
355386
|
355388
|
355393
|
355568
|
355574
|
355575
|
355577
|
355580
|
355582
|
355585
|
355666
|
355672
|
355693
|
355699
|
355711
|
355752
|
355777
|
355820
|
356333
|
356334
|
356338
|
356340
|
356342
|
356344
|
356346
|
356351
|
356352
|
356358
|
356360
|
356380
|
356497
|
356500
|
356507
|
356579
|
356607
|
356728
|
356729
|
356730
|
356731
|
356732
|
356733
|
356752
|
356810
|
356811
|
356879
|
356880
|
356881
|
356882
|
356883
|
356884
|
356885
|
356887
|
356888
|
356889
|
356892
|
356895
|
356896
|
359721
|
359735
|
359747
|
363581
|
363595
|
363613
|
363690
|
364172
|
364180
|
366512
|
366557
|
366636