| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| |
| description("This tests the parser for points attribute values."); |
| |
| var polyElement = document.createElementNS("http://www.w3.org/2000/svg", "polyline"); |
| |
| function parsePoints(str, result) |
| { |
| polyElement.setAttributeNS(null, "points", " "); |
| polyElement.setAttributeNS(null, "points", str); |
| debug("Test string: '" + str + "'"); |
| var len = polyElement.points.numberOfItems; |
| var points = ""; |
| for (var i = 0; i < len; ++i) { |
| var p = polyElement.points.getItem(i); |
| if (i > 0) points += " "; |
| points = points + p.x + " " + p.y; |
| } |
| if (points === result) { |
| testPassed("'" + points + "' is '" + result + "'"); |
| } else { |
| testFailed("'" + str + "' should be '" + result + "', but is '" + points + "'"); |
| } |
| debug(""); |
| } |
| |
| parsePoints(" ", ""); |
| parsePoints("10 10", "10 10"); |
| parsePoints("10,10", "10 10"); |
| parsePoints("10, 10", "10 10"); |
| parsePoints("10 10 20 20", "10 10 20 20"); |
| parsePoints("10, 10 20 20", "10 10 20 20"); |
| parsePoints("10, 10, 20 20", "10 10 20 20"); |
| parsePoints("10, 10, 20, 20", "10 10 20 20"); |
| parsePoints("10, 10 20, 20", "10 10 20 20"); |
| parsePoints("10 10, 20, 20", "10 10 20 20"); |
| parsePoints("10 10 20, 20", "10 10 20 20"); |
| parsePoints("10+10", "10 10"); |
| parsePoints("10-10", "10 -10"); |
| parsePoints("10,+10", "10 10"); |
| parsePoints("10,-10", "10 -10"); |
| parsePoints(" 10,10", "10 10"); |
| parsePoints("10,10 ", "10 10"); |
| parsePoints("10, 10", "10 10"); |
| parsePoints("10 ,10", "10 10"); |
| parsePoints("10 , 10", "10 10"); |
| parsePoints(" 10,10", "10 10"); |
| parsePoints("10,10 ", "10 10"); |
| parsePoints("10, 10", "10 10"); |
| parsePoints("10 ,10", "10 10"); |
| parsePoints("10 , 10", "10 10"); |
| |
| debug('Strings that fail to parse, and hence parse as "".'); |
| debug(''); |
| |
| parsePoints("a", ""); |
| parsePoints("10", ""); |
| parsePoints("10,", ""); |
| parsePoints("10,,", ""); |
| parsePoints("10,,10", ""); |
| parsePoints("10,10,", "10 10"); |
| parsePoints("10,10a", "10 10"); |
| parsePoints(",10", ""); |
| parsePoints(",10,", ""); |
| parsePoints(",10,,", ""); |
| parsePoints(",10,10", ""); |
| |
| |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |