layout/inspector/tests/chrome/test_bug695639.xul

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:58d24ccf9ca9
1 <?xml version="1.0"?>
2 <?xml-stylesheet type="text/css" href="chrome://global/skin"?>
3 <?xml-stylesheet type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"?>
4 <?xml-stylesheet type="text/css" href="test_bug695639.css"?>
5 <!--
6 https://bugzilla.mozilla.org/show_bug.cgi?id=695639
7 -->
8 <window title="Mozilla Bug 695639"
9 xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
10 onload="RunTest();">
11 <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
12 <script type="application/javascript">
13 <![CDATA[
14 /** Test for Bug 695639 - check that GetFontFacesForText handles wrapped lines properly **/
15
16 SimpleTest.waitForExplicitFinish();
17
18 function RunTest() {
19 const CI = Components.interfaces;
20 const CC = Components.classes;
21
22 var domUtils =
23 CC["@mozilla.org/inspector/dom-utils;1"].getService(CI.inIDOMUtils);
24
25 var rng = document.createRange();
26 var elem, fonts, f;
27
28 elem = document.getElementById("test").childNodes[0];
29 rng.setStart(elem, 0);
30 rng.setEnd(elem, 14);
31 fonts = domUtils.getUsedFontFaces(rng);
32 is(fonts.length, 2, "number of fonts used for entire text");
33
34 // initial latin substring...
35 rng.setStart(elem, 0);
36 rng.setEnd(elem, 5); // "Hello"
37 fonts = domUtils.getUsedFontFaces(rng);
38 is(fonts.length, 1, "number of fonts (1)");
39 f = fonts.item(0);
40 is(f.name, "Gentium Plus", "font name (1)");
41
42 // the space (where the line wraps) should also be Gentium
43 rng.setStart(elem, 5);
44 rng.setEnd(elem, 6); // space
45 fonts = domUtils.getUsedFontFaces(rng);
46 is(fonts.length, 1, "number of fonts (2)");
47 f = fonts.item(0);
48 is(f.name, "Gentium Plus", "font name (2)");
49
50 // the Chinese text "ni hao" should NOT be in Gentium
51 rng.setStart(elem, 6);
52 rng.setEnd(elem, 8); // two Chinese characters on second line
53 fonts = domUtils.getUsedFontFaces(rng);
54 is(fonts.length, 1, "number of fonts (3)");
55 f = fonts.item(0);
56 isnot(f.name, "Gentium Plus", "font name (3)");
57
58 // space and "world" should be Gentium again
59 rng.setStart(elem, 8);
60 rng.setEnd(elem, 14);
61 fonts = domUtils.getUsedFontFaces(rng);
62 is(fonts.length, 1, "number of fonts (4)");
63 f = fonts.item(0);
64 is(f.name, "Gentium Plus", "font name (4)");
65
66 SimpleTest.finish();
67 }
68 ]]>
69 </script>
70
71 <style type="text/css">
72 </style>
73
74 <body xmlns="http://www.w3.org/1999/xhtml">
75 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=695639"
76 target="_blank">Mozilla Bug 695639</a>
77 <div style="width: 2em;" class="test" id="test">Hello &#x4F60;&#x597D; world</div>
78 </body>
79
80 </window>

mercurial