| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script src="resources/scripted-random.js"></script> |
| <script src="resources/viewspec-parser.js"></script> |
| </head> |
| <body> |
| <p id="description"></p> |
| <div id="console"></div> |
| <script> |
| // maps a viewspec attribute to its minimum argument count. |
| var attributes = { |
| viewBox: 6, |
| preserveAspectRatio: 1, |
| transform: 1, |
| zoomAndPan: 1, |
| viewTarget: 1 |
| }; |
| |
| var tests = [ |
| "svgView(viewBox(0,0,200,200)))", |
| "svgView(preserveAspectRatio(xMaxYMin slice))", |
| "svgView(preserveAspectRatio(xMaxYMin))", |
| "svgView(viewBox(1,2,3,4);preserveAspectRatio(xMaxYMin))", |
| "svgView(zoomAndPan(disable))", |
| "svgView(viewTarget(#myElementId))", |
| "svgView", |
| "svgView(", |
| "svgView()", |
| "svgView(" + String.fromCharCode(0), |
| "svgView(transform(scale(2));;)", |
| "svgView(transform(scale(2));x", // used to hang |
| "svgView(transform(scale(.5)))", |
| "svgView(;transform(scale(.5)))", |
| "svgView(;;transform(scale(.5)))", |
| "svgView(transform(scale(.5));transform(scale(2));transform(scale(2)))", |
| ]; |
| |
| for (var attribute in attributes) { |
| // attribute names that are "off by one" |
| var extraChar = attribute.charAt(attribute.length - 1); |
| tests.push("svgView(" + attribute + extraChar + "(0, 0)"); |
| tests.push("svgView(" + attribute.substring(0, attribute.length - 1) + "(0, 0)"); |
| |
| // Empty-ish attributes |
| tests.push("svgView(" + attribute); |
| tests.push("svgView(" + attribute + String.fromCharCode(0)); |
| } |
| |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| startViewspecTests(tests); |
| |
| </script> |
| </html> |