tor-browser

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

writer-create-available.tentative.https.window.js (3690B)


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