2010-04-21 David Yonge-Mallo <davinci@chromium.org>
[WebKit-https.git] / LayoutTests / fast / text / zero-width-characters.html
1 <head>
2 <script>
3 function test()
4 {
5     if (window.layoutTestController)
6         layoutTestController.dumpAsText();
7     var testString = "";
8     for (var i = 0; i < 32; ++i) // >
9         if (i != 9 && i != 10 && i != 13) // ;
10             testString += String.fromCharCode(i);
11     testString += String.fromCharCode(0x200B);
12     testString += String.fromCharCode(0x200C);
13     testString += String.fromCharCode(0x200D);
14     testString += String.fromCharCode(0x200E);
15     testString += String.fromCharCode(0x200F);
16     testString += String.fromCharCode(0xFFFC);
17     var span = document.getElementById("characters");
18     var abWidth = span.offsetWidth;
19     span.firstChild.data = "a";
20     var aWidth = span.offsetWidth;
21     span.firstChild.data = "a" + testString + "b";
22     var abWithCharactersWidth = span.offsetWidth;
23
24     var testArea = document.getElementById("testArea");
25     testArea.parentNode.removeChild(testArea);
26
27     if (abWithCharactersWidth > abWidth)
28         result = "FAIL: One or more of the characters had a non-zero width.";
29     else if (abWidth > aWidth)
30         result = "PASS: All the characters had zero width.";
31     else
32         result = "FAIL: Width measurement seems to have failed.";
33
34     document.getElementById("result").firstChild.data = result;
35 }
36 </script>
37 </head>
38 <body onload="test()">
39 <p>This test checks various characters that should always be zero width to ensure that they are.
40 The WebKit text system ensures this in a way that's independent of the fonts installed on the system.</p>
41 <p id="result">FAIL: Script did not run to completion.</p>
42 <p id="testArea"><span id="characters">ab</span></p>
43 </body>