<head> <script> function test() { if (window.testRunner) testRunner.dumpAsText(); var testString = ""; for (var i = 0; i < 32; ++i) // > if (i != 9 && i != 10 && i != 13) // ; testString += String.fromCharCode(i); testString += String.fromCharCode(0x200B); testString += String.fromCharCode(0x200C); testString += String.fromCharCode(0x200D); testString += String.fromCharCode(0x200E); testString += String.fromCharCode(0x200F); testString += String.fromCharCode(0xFEFF); testString += String.fromCharCode(0xFFFC); var span = document.getElementById("characters"); var abWidth = span.offsetWidth; span.firstChild.data = "a"; var aWidth = span.offsetWidth; span.firstChild.data = "a" + testString + "b"; var abWithCharactersWidth = span.offsetWidth; var testArea = document.getElementById("testArea"); testArea.parentNode.removeChild(testArea); if (abWithCharactersWidth > abWidth) result = "FAIL: One or more of the characters had a non-zero width."; else if (abWidth > aWidth) result = "PASS: All the characters had zero width."; else result = "FAIL: Width measurement seems to have failed."; document.getElementById("result").firstChild.data = result; } </script> </head> <body onload="test()"> <p>This test checks various characters that should always be zero width to ensure that they are. The WebKit text system ensures this in a way that's independent of the fonts installed on the system.</p> <p id="result">FAIL: Script did not run to completion.</p> <p id="testArea"><span id="characters">ab</span></p> </body>