rewriter-availability.tentative.https.window.js (1483B)
1 // META: title=Rewriter Availability 2 // META: script=../resources/util.js 3 // META: timeout=long 4 5 'use strict'; 6 7 promise_test(async () => { 8 assert_true(!!Rewriter); 9 assert_equals(typeof Rewriter.availability, 'function'); 10 }, 'Rewriter.availability() is defined'); 11 12 promise_test(async () => { 13 const availability = await Rewriter.availability(); 14 assert_in_array(availability, kValidAvailabilities); 15 }, 'Rewriter.availability() returns a valid value with no options'); 16 17 promise_test(async () => { 18 // An array of plausible test option values. 19 const kCreateOptionsSpec = [ 20 {tone: [undefined, 'as-is', 'more-formal', 'more-casual']}, 21 {format: [undefined, 'as-is', 'plain-text', 'markdown']}, 22 {length: [undefined, 'as-is', 'shorter', 'longer']}, 23 {expectedInputLanguages: [[], ['en'], ['es'], ['jp', 'fr']]}, 24 {expectedContextLanguages: [[], ['en'], ['es'], ['jp', 'fr']]}, 25 {outputLanguage: [undefined, 'en', 'es', 'jp', 'fr']} 26 ]; 27 for (const options of generateOptionCombinations(kCreateOptionsSpec)) { 28 const availability = await Rewriter.availability(options); 29 assert_in_array(availability, kValidAvailabilities, options); 30 } 31 }, 'Rewriter.availability() returns a valid value with plausible options'); 32 33 promise_test(async (t) => { 34 return promise_rejects_js(t, RangeError, Rewriter.availability({ 35 expectedInputLanguages: ['en-abc-invalid'], // not supported 36 })); 37 }, 'Rewriter.availability() rejects when given invalid language tags');