blob: e8a1e8d91b21eed5b074f860cedd5f768cec3d8e [file] [log] [blame]
<!doctype html>
<title>Local Font Access: Chooser, Selection Options</title>
<meta charset=utf-8>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/testdriver.js"></script>
<script src="/resources/testdriver-vendor.js"></script>
<script src="resources/test-expectations.js"></script>
<script>
(async () => {
await new Promise(resolve => {
window.addEventListener('DOMContentLoaded', resolve);
});
// Small delay to give chrome's test automation a chance to actually install
// itself.
await new Promise(resolve => step_timeout(resolve, 100));
promise_test(async t => {
await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.');
// Arial is considered to be web-safe.
const fonts = await navigator.fonts.query({select: ['ArialMT']});
assert_true(Array.isArray(fonts));
assert_equals(fonts.length, 1);
const postscriptName = fonts[0].postscriptName;
assert_equals(typeof postscriptName, "string");
assert_greater_than(postscriptName.length, 0);
}, 'query() with selection works');
promise_test(async t => {
await window.test_driver.bless('show a font chooser.<br />Please select all the fonts that shows up.');
const fonts = await navigator.fonts.query({select: []});
assert_true(Array.isArray(fonts));
assert_greater_than_equal(fonts.length, 1);
const postscriptName = fonts[0].postscriptName;
assert_equals(typeof postscriptName, "string");
assert_greater_than(postscriptName.length, 0);
}, 'query() with empty selection bag works');
})();
</script>