layout/inspector/tests/chrome/test_bug695639.xul

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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 **/
    16 SimpleTest.waitForExplicitFinish();
    18 function RunTest() {
    19   const CI = Components.interfaces;
    20   const CC = Components.classes;
    22   var domUtils =
    23     CC["@mozilla.org/inspector/dom-utils;1"].getService(CI.inIDOMUtils);
    25   var rng = document.createRange();
    26   var elem, fonts, f;
    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");
    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)");
    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)");
    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)");
    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)");
    66   SimpleTest.finish();
    67 }
    68   ]]>
    69   </script>
    71   <style type="text/css">
    72   </style>
    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>
    80 </window>

mercurial