tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_fontFeaturesAPI.xhtml (6939B)


      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_fontFeaturesAPI.css"?>
      5 <window title="Test for font variation axis API"
      6        xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
      7        onload="RunTest();">
      8  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"/>
      9 
     10  <script type="application/javascript">
     11  <![CDATA[
     12 
     13 SimpleTest.waitForExplicitFinish();
     14 
     15 // Expected result (sorted) from the DejaVu Sans font we're testing with:
     16 var dejaVuFeatures = [
     17  ["aalt", "grek", "dflt"],
     18  ["aalt", "hebr", "dflt"],
     19  ["aalt", "latn", "ISM "],
     20  ["aalt", "latn", "KSM "],
     21  ["aalt", "latn", "LSM "],
     22  ["aalt", "latn", "MOL "],
     23  ["aalt", "latn", "NSM "],
     24  ["aalt", "latn", "ROM "],
     25  ["aalt", "latn", "SKS "],
     26  ["aalt", "latn", "SSM "],
     27  ["aalt", "latn", "dflt"],
     28  ["ccmp", "DFLT", "dflt"],
     29  ["ccmp", "arab", "KUR "],
     30  ["ccmp", "arab", "SND "],
     31  ["ccmp", "arab", "URD "],
     32  ["ccmp", "arab", "dflt"],
     33  ["ccmp", "armn", "dflt"],
     34  ["ccmp", "brai", "dflt"],
     35  ["ccmp", "cans", "dflt"],
     36  ["ccmp", "cher", "dflt"],
     37  ["ccmp", "cyrl", "MKD "],
     38  ["ccmp", "cyrl", "SRB "],
     39  ["ccmp", "cyrl", "dflt"],
     40  ["ccmp", "geor", "dflt"],
     41  ["ccmp", "grek", "dflt"],
     42  ["ccmp", "hani", "dflt"],
     43  ["ccmp", "hebr", "dflt"],
     44  ["ccmp", "kana", "dflt"],
     45  ["ccmp", "lao ", "dflt"],
     46  ["ccmp", "latn", "ISM "],
     47  ["ccmp", "latn", "KSM "],
     48  ["ccmp", "latn", "LSM "],
     49  ["ccmp", "latn", "MOL "],
     50  ["ccmp", "latn", "NSM "],
     51  ["ccmp", "latn", "ROM "],
     52  ["ccmp", "latn", "SKS "],
     53  ["ccmp", "latn", "SSM "],
     54  ["ccmp", "latn", "dflt"],
     55  ["ccmp", "math", "dflt"],
     56  ["ccmp", "nko ", "dflt"],
     57  ["ccmp", "ogam", "dflt"],
     58  ["ccmp", "runr", "dflt"],
     59  ["ccmp", "tfng", "dflt"],
     60  ["ccmp", "thai", "dflt"],
     61  ["dlig", "DFLT", "dflt"],
     62  ["dlig", "armn", "dflt"],
     63  ["dlig", "latn", "ISM "],
     64  ["dlig", "latn", "KSM "],
     65  ["dlig", "latn", "LSM "],
     66  ["dlig", "latn", "MOL "],
     67  ["dlig", "latn", "NSM "],
     68  ["dlig", "latn", "ROM "],
     69  ["dlig", "latn", "SKS "],
     70  ["dlig", "latn", "SSM "],
     71  ["dlig", "latn", "dflt"],
     72  ["fina", "arab", "KUR "],
     73  ["fina", "arab", "SND "],
     74  ["fina", "arab", "URD "],
     75  ["fina", "arab", "dflt"],
     76  ["fina", "nko ", "dflt"],
     77  ["hlig", "hebr", "dflt"],
     78  ["hlig", "latn", "ISM "],
     79  ["hlig", "latn", "KSM "],
     80  ["hlig", "latn", "LSM "],
     81  ["hlig", "latn", "MOL "],
     82  ["hlig", "latn", "NSM "],
     83  ["hlig", "latn", "ROM "],
     84  ["hlig", "latn", "SKS "],
     85  ["hlig", "latn", "SSM "],
     86  ["hlig", "latn", "dflt"],
     87  ["init", "arab", "KUR "],
     88  ["init", "arab", "SND "],
     89  ["init", "arab", "URD "],
     90  ["init", "arab", "dflt"],
     91  ["init", "nko ", "dflt"],
     92  ["kern", "DFLT", "dflt"],
     93  ["kern", "arab", "KUR "],
     94  ["kern", "arab", "SND "],
     95  ["kern", "arab", "URD "],
     96  ["kern", "arab", "dflt"],
     97  ["kern", "armn", "dflt"],
     98  ["kern", "brai", "dflt"],
     99  ["kern", "cans", "dflt"],
    100  ["kern", "cher", "dflt"],
    101  ["kern", "cyrl", "MKD "],
    102  ["kern", "cyrl", "SRB "],
    103  ["kern", "cyrl", "dflt"],
    104  ["kern", "geor", "dflt"],
    105  ["kern", "grek", "dflt"],
    106  ["kern", "hani", "dflt"],
    107  ["kern", "hebr", "dflt"],
    108  ["kern", "kana", "dflt"],
    109  ["kern", "lao ", "dflt"],
    110  ["kern", "latn", "ISM "],
    111  ["kern", "latn", "KSM "],
    112  ["kern", "latn", "LSM "],
    113  ["kern", "latn", "MOL "],
    114  ["kern", "latn", "NSM "],
    115  ["kern", "latn", "ROM "],
    116  ["kern", "latn", "SKS "],
    117  ["kern", "latn", "SSM "],
    118  ["kern", "latn", "dflt"],
    119  ["kern", "math", "dflt"],
    120  ["kern", "nko ", "dflt"],
    121  ["kern", "ogam", "dflt"],
    122  ["kern", "runr", "dflt"],
    123  ["kern", "tfng", "dflt"],
    124  ["kern", "thai", "dflt"],
    125  ["liga", "arab", "KUR "],
    126  ["liga", "arab", "SND "],
    127  ["liga", "arab", "URD "],
    128  ["liga", "arab", "dflt"],
    129  ["liga", "latn", "ISM "],
    130  ["liga", "latn", "KSM "],
    131  ["liga", "latn", "LSM "],
    132  ["liga", "latn", "MOL "],
    133  ["liga", "latn", "NSM "],
    134  ["liga", "latn", "ROM "],
    135  ["liga", "latn", "SKS "],
    136  ["liga", "latn", "SSM "],
    137  ["liga", "latn", "dflt"],
    138  ["locl", "cyrl", "MKD "],
    139  ["locl", "cyrl", "SRB "],
    140  ["locl", "latn", "ISM "],
    141  ["locl", "latn", "KSM "],
    142  ["locl", "latn", "LSM "],
    143  ["locl", "latn", "MOL "],
    144  ["locl", "latn", "NSM "],
    145  ["locl", "latn", "ROM "],
    146  ["locl", "latn", "SKS "],
    147  ["locl", "latn", "SSM "],
    148  ["mark", "arab", "KUR "],
    149  ["mark", "arab", "SND "],
    150  ["mark", "arab", "URD "],
    151  ["mark", "arab", "dflt"],
    152  ["mark", "cyrl", "MKD "],
    153  ["mark", "cyrl", "SRB "],
    154  ["mark", "cyrl", "dflt"],
    155  ["mark", "grek", "dflt"],
    156  ["mark", "hebr", "dflt"],
    157  ["mark", "lao ", "dflt"],
    158  ["mark", "latn", "ISM "],
    159  ["mark", "latn", "KSM "],
    160  ["mark", "latn", "LSM "],
    161  ["mark", "latn", "MOL "],
    162  ["mark", "latn", "NSM "],
    163  ["mark", "latn", "ROM "],
    164  ["mark", "latn", "SKS "],
    165  ["mark", "latn", "SSM "],
    166  ["mark", "latn", "dflt"],
    167  ["mark", "nko ", "dflt"],
    168  ["mark", "tfng", "dflt"],
    169  ["medi", "arab", "KUR "],
    170  ["medi", "arab", "SND "],
    171  ["medi", "arab", "URD "],
    172  ["medi", "arab", "dflt"],
    173  ["medi", "nko ", "dflt"],
    174  ["mkmk", "arab", "KUR "],
    175  ["mkmk", "arab", "SND "],
    176  ["mkmk", "arab", "URD "],
    177  ["mkmk", "arab", "dflt"],
    178  ["mkmk", "cyrl", "MKD "],
    179  ["mkmk", "cyrl", "SRB "],
    180  ["mkmk", "cyrl", "dflt"],
    181  ["mkmk", "grek", "dflt"],
    182  ["mkmk", "lao ", "dflt"],
    183  ["mkmk", "latn", "ISM "],
    184  ["mkmk", "latn", "KSM "],
    185  ["mkmk", "latn", "LSM "],
    186  ["mkmk", "latn", "MOL "],
    187  ["mkmk", "latn", "NSM "],
    188  ["mkmk", "latn", "ROM "],
    189  ["mkmk", "latn", "SKS "],
    190  ["mkmk", "latn", "SSM "],
    191  ["mkmk", "latn", "dflt"],
    192  ["rlig", "arab", "KUR "],
    193  ["rlig", "arab", "SND "],
    194  ["rlig", "arab", "URD "],
    195  ["rlig", "arab", "dflt"],
    196  ["salt", "grek", "dflt"],
    197  ["salt", "hebr", "dflt"],
    198  ["salt", "latn", "ISM "],
    199  ["salt", "latn", "KSM "],
    200  ["salt", "latn", "LSM "],
    201  ["salt", "latn", "MOL "],
    202  ["salt", "latn", "NSM "],
    203  ["salt", "latn", "ROM "],
    204  ["salt", "latn", "SKS "],
    205  ["salt", "latn", "SSM "],
    206  ["salt", "latn", "dflt"],
    207 ];
    208 
    209 function RunTest() {
    210  var rng = document.createRange();
    211  var elem = document.getElementById("test1");
    212  rng.selectNode(elem);
    213  var fonts = InspectorUtils.getUsedFontFaces(rng);
    214  is(fonts.length, 1, "number of fonts");
    215  var font = fonts[0];
    216  is(font.CSSFamilyName, "dejavu", "using correct test font");
    217  var fontFeatures = font.getFeatures();
    218  is(fontFeatures.length, dejaVuFeatures.length, "number of features");
    219  var featureList = [];
    220  fontFeatures.forEach(function(f) {
    221    featureList.push([f.tag, f.script, f.languageSystem]);
    222  });
    223  is(featureList.sort().join(";"), dejaVuFeatures.join(";"), "list of features");
    224 
    225  SimpleTest.finish();
    226 }
    227 
    228  ]]>
    229  </script>
    230 
    231  <!-- html:body contains elements the test will inspect -->
    232  <body xmlns="http://www.w3.org/1999/xhtml">
    233  <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1280162"
    234     target="_blank">Mozilla Bug 1280162</a>
    235  <div id="test1">Hello world</div>
    236  </body>
    237 
    238 </window>