tor-browser

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

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');