tor-browser

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

rewriter-create-available.tentative.https.window.js (4073B)


      1 // META: title=Rewriter Create Available
      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  const rewriter = await createRewriter();
     10  assert_true(rewriter instanceof Rewriter);
     11 
     12  assert_equals(typeof rewriter.rewrite, 'function');
     13  assert_equals(typeof rewriter.rewriteStreaming, 'function');
     14  assert_equals(typeof rewriter.measureInputUsage, 'function');
     15  assert_equals(typeof rewriter.destroy, 'function');
     16 
     17  assert_equals(typeof rewriter.expectedContextLanguages, 'object');
     18  assert_equals(typeof rewriter.expectedInputLanguages, 'object');
     19  assert_equals(typeof rewriter.inputQuota, 'number');
     20  assert_equals(typeof rewriter.outputLanguage, 'object');
     21  assert_equals(typeof rewriter.sharedContext, 'string');
     22 
     23  assert_equals(typeof rewriter.tone, 'string');
     24  assert_equals(typeof rewriter.format, 'string');
     25  assert_equals(typeof rewriter.length, 'string');
     26 
     27  assert_equals(rewriter.tone, 'as-is');
     28  assert_equals(rewriter.format, 'as-is');
     29  assert_equals(rewriter.length, 'as-is');
     30 }, 'Rewriter.create() returns a valid object with default options');
     31 
     32 promise_test(async () => {
     33  await testMonitor(createRewriter);
     34 }, 'Rewriter.create() notifies its monitor on downloadprogress');
     35 
     36 promise_test(async t => {
     37  await testCreateMonitorWithAbort(t, Rewriter.create);
     38 }, 'Progress events are not emitted after aborted');
     39 
     40 promise_test(async () => {
     41  const sharedContext = 'This is a shared context string';
     42  const rewriter = await createRewriter({sharedContext: sharedContext});
     43  assert_equals(rewriter.sharedContext, sharedContext);
     44 }, 'Rewriter.sharedContext');
     45 
     46 promise_test(async () => {
     47  const rewriter = await createRewriter({ tone: 'more-formal' });
     48  assert_equals(rewriter.tone, 'more-formal');
     49 }, 'Creating a Rewriter with "more-formal" tone');
     50 
     51 promise_test(async () => {
     52  const rewriter = await createRewriter({ tone: 'more-casual' });
     53  assert_equals(rewriter.tone, 'more-casual');
     54 }, 'Creating a Rewriter with "more-casual" tone');
     55 
     56 promise_test(async () => {
     57  const rewriter = await createRewriter({ format: 'plain-text' });
     58  assert_equals(rewriter.format, 'plain-text');
     59 }, 'Creating a Rewriter with "plain-text" format');
     60 
     61 promise_test(async () => {
     62  const rewriter = await createRewriter({ format: 'markdown' });
     63  assert_equals(rewriter.format, 'markdown');
     64 }, 'Creating a Rewriter with "markdown" format');
     65 
     66 promise_test(async () => {
     67  const rewriter = await createRewriter({ length: 'shorter' });
     68  assert_equals(rewriter.length, 'shorter');
     69 }, 'Creating a Rewriter with "shorter" length');
     70 
     71 promise_test(async () => {
     72  const rewriter = await createRewriter({ length: 'longer' });
     73  assert_equals(rewriter.length, 'longer');
     74 }, 'Creating a Rewriter with "longer" length');
     75 
     76 promise_test(async () => {
     77  const rewriter = await createRewriter({expectedInputLanguages: ['en']});
     78  assert_array_equals(rewriter.expectedInputLanguages, ['en']);
     79 }, 'Rewriter.expectedInputLanguages');
     80 
     81 promise_test(async () => {
     82  const rewriter = await createRewriter({expectedContextLanguages: ['en']});
     83  assert_array_equals(rewriter.expectedContextLanguages, ['en']);
     84 }, 'Rewriter.expectedContextLanguages');
     85 
     86 promise_test(async () => {
     87  const rewriter = await createRewriter({outputLanguage: 'en'});
     88  assert_equals(rewriter.outputLanguage, 'en');
     89 }, 'Rewriter.outputLanguage');
     90 
     91 promise_test(async (t) => {
     92  return promise_rejects_js(
     93      t, RangeError,
     94      createRewriter({expectedInputLanguages: ['en-abc-invalid']}));
     95 }, 'Creating Rewriter with malformed language string');
     96 
     97 promise_test(async (t) => {
     98  let session = await createRewriter({expectedInputLanguages: ['EN']});
     99  assert_true(!!session);
    100 }, 'Rewriter.create() canonicalizes language tags');
    101 
    102 promise_test(async () => {
    103  const rewriter = await createRewriter({});
    104  assert_equals(rewriter.expectedInputLanguages, null);
    105  assert_equals(rewriter.expectedContextLanguages, null);
    106  assert_equals(rewriter.outputLanguage, null);
    107 }, 'Rewriter optional attributes return null');