3 <script src="../../fast/js/resources/js-test-pre.js"></script>
4 <script src="resources/scripted-random.js"></script>
7 <p id="description"></p>
8 <div id="console"></div>
10 description("This test fuzzes the length list parser with semi-random attribute values and dumps the results of any values that parse successfully.");
14 // Long numeric string to force crossing page boundaries.
15 "-0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
34 var textElement = document.createElementNS("http://www.w3.org/2000/svg", "text");
35 function parseLengthList(string)
37 textElement.setAttributeNS(null, "x", string);
39 var lengthList = textElement.x.baseVal;
40 if (!lengthList.numberOfItems)
43 var debugStr = "Parsed as " + lengthList.numberOfItems + " length(s)";
45 for (var i = 0; i < lengthList.numberOfItems; i++) { //>
46 debugStr += lengthList.getItem(i).valueAsString;
47 if (i < lengthList.numberOfItems - 1) //>
51 debugStr += ": " + string;
57 // Random assortments of valid characters
58 for (var i = 0; i < 250; i++) { //>
60 var count = Math.scriptedRandomInt(100);
61 for (var j = 0; j < count; j++) { //>
62 lengthList += characters[Math.scriptedRandomInt(characters.length)];
64 parseLengthList(lengthList);
67 // Empty-ish length lists
69 parseLengthList(String.fromCharCode(0));
75 <script src="../../fast/js/resources/js-test-post.js"></script>