tor-browser

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

font_access_blob.tentative.https.window.js (1291B)


      1 // META: script=/resources/testdriver.js
      2 // META: script=/resources/testdriver-vendor.js
      3 // META: script=resources/font-asserts.js
      4 // META: script=resources/font-data.js
      5 // META: script=resources/font-test-utils.js
      6 // META: timeout=long
      7 
      8 'use strict';
      9 
     10 font_access_test(async t => {
     11  const fonts = await self.queryLocalFonts();
     12 
     13  // Fonts we know about. Not all expected fonts are included.
     14  const testData = getTestData();
     15  // Reduce down the size of results for testing purposes.
     16  const filteredFonts = filterFonts(fonts, [...testData.keys()]);
     17 
     18  for (const font of filteredFonts) {
     19    const data = await font.blob();
     20    assert_not_equals(data.size, 0, 'Blob has a positive size.');
     21    assert_equals(
     22        data.type, 'application/octet-stream',
     23        'Returned Blob is of type octet-stream.');
     24    const buffer = await data.arrayBuffer();
     25    assert_not_equals(buffer.length, 0, 'Returned ArrayBuffer is not empty.');
     26 
     27    const parsedData = await parseFontData(data);
     28    assert_version_info(parsedData.versionTag);
     29    assert_not_equals(
     30        parsedData.tables.size, 0, 'Should not have tables of size zero.');
     31    assert_font_has_tables(font.postscriptName, parsedData.tables, BASE_TABLES);
     32  }
     33 }, 'FontData.blob(): blob has expected format and parsable table data.');