diff options
Diffstat (limited to 'testing/web-platform/tests/font-access/font_access_basic.tentative.https.window.js')
-rw-r--r-- | testing/web-platform/tests/font-access/font_access_basic.tentative.https.window.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/testing/web-platform/tests/font-access/font_access_basic.tentative.https.window.js b/testing/web-platform/tests/font-access/font_access_basic.tentative.https.window.js new file mode 100644 index 0000000000..669fa31e1a --- /dev/null +++ b/testing/web-platform/tests/font-access/font_access_basic.tentative.https.window.js @@ -0,0 +1,39 @@ +//META: script=/resources/testdriver.js +//META: script=/resources/testdriver-vendor.js +//META: script=resources/font-asserts.js +//META: script=resources/font-data.js +//META: script=resources/font-test-utils.js + +'use strict'; + +font_access_test(async t => { + // Fonts we know about. Not all expected fonts are included. + const testData = getTestData(); + + // Get the system fonts. + const fonts = await self.queryLocalFonts(); + assert_true(Array.isArray(fonts), 'Result of query() should be an Array'); + assert_greater_than_equal(fonts.length, 1, 'Need a least one font'); + + fonts.forEach(font => { + assert_true( + font instanceof FontData, 'Results should be FontData instances'); + + // Verify properties and types. + assert_equals(typeof font.postscriptName, 'string'); + assert_true( + font.postscriptName.split('').every(c => (' ' <= c && c < '\x7f')), + `postscriptName should be printable ASCII: "${font.postscriptName}"` + ); + assert_equals(typeof font.fullName, 'string', 'fullName attribute type'); + assert_equals(typeof font.family, 'string', 'family attribute type'); + assert_equals(typeof font.style, 'string', 'style attribute type'); + + // If the sample test data contains the returned system font, + // then verify the values of FontData. + const expectedFont = testData.get(font.postscriptName); + if (expectedFont) { + assert_font_equals(font, expectedFont); + } + }); +}, 'queryLocalFonts(): FontData property types and values'); |