| <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> |