tor-browser

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

writer-availability.tentative.https.window.js (1443B)


      1 // META: title=Writer Availability
      2 // META: script=../resources/util.js
      3 // META: timeout=long
      4 
      5 'use strict';
      6 
      7 promise_test(async () => {
      8  assert_true(!!Writer);
      9  assert_equals(typeof Writer.availability, 'function');
     10 }, 'Writer.availability() is defined');
     11 
     12 promise_test(async () => {
     13  const availability = await Writer.availability();
     14  assert_in_array(availability, kValidAvailabilities);
     15 }, 'Writer.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, 'formal', 'neutral', 'casual']},
     21    {format: [undefined, 'plain-text', 'markdown']},
     22    {length: [undefined, 'short', 'medium', 'long']},
     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 Writer.availability(options);
     29    assert_in_array(availability, kValidAvailabilities, options);
     30  }
     31 }, 'Writer.availability() returns a valid value with plausible options');
     32 
     33 promise_test(async (t) => {
     34  return promise_rejects_js(t, RangeError, Writer.availability({
     35    expectedInputLanguages: ['en-abc-invalid'],  // not supported
     36  }));
     37 }, 'Writer.availability() rejects when given invalid language tags');