tor-browser

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

summarizer-availability.tentative.https.window.js (1537B)


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