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