JS Test Harness: Remove successfullyParsed from more tests
[WebKit-https.git] / LayoutTests / svg / dom / SVGPathSegList-xml-dom-synchronization.xhtml
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <script>window.enablePixelTesting = true;</script>
4 <script src="../../fast/js/resources/js-test-pre.js"></script>
5 </head>
6 <body>
7 <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
8     <path id="path" fill="green" transform="translate(10 10)" d="M 200 0 L 100 0 L 100 100"/>
9 </svg>
10
11 <p id="description"></p>
12 <div id="console"></div>
13 <script type="text/javascript">
14 <![CDATA[
15     description("This is a test how SVGLengthList reacts to XML DOM modifications.");
16
17     // Extend String prototype, to offer a function, that formas the d attribute in the same way across browsers
18     String.prototype.formatDAttribute = function() {
19         return this.replace(/,/g, " ")          // Remove Firefox commas
20                    .replace(/([A-Z])/g, " $1 ") // "M 100 0L 50 0" -> " M 100 0 L 50 0"
21                    .replace(/^\s/, "")          // " M 100 0" -> "M 100 0" 
22                    .replace(/\s\s/g, " ");      // If there was already whitespace between coordinates & commands, fix it up again.      
23     }
24
25     var path = document.getElementById("path");
26     shouldBe("path.pathSegList.numberOfItems", "3");
27
28     // Check initial 'd' attribute value.
29     shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100");
30
31     // Append one item, check 'd' attribute changed.
32     path.pathSegList.appendItem(path.createSVGPathSegLinetoAbs(0, 100));
33     shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 200 0 L 100 0 L 100 100 L 0 100");
34
35     // Modify first item, check 'd' attribute changed.
36     path.pathSegList.getItem(0).x -= 100;
37     shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 100 0 L 100 0 L 100 100 L 0 100");
38
39     // Modify first item, check 'd' attribute changed, now a green rectangle should be visible.
40     path.pathSegList.getItem(0).x -= 100;
41     shouldBeEqualToString("path.getAttribute('d').formatDAttribute()", "M 0 0 L 100 0 L 100 100 L 0 100");
42
43 ]]>
44 </script>
45 <script src="../../fast/js/resources/js-test-post.js"></script>
46 </body>
47 </html>