summarizer-create-available.tentative.https.window.js (3615B)
1 // META: title=Summarizer 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 summarizer = await createSummarizer(); 10 assert_true(summarizer instanceof Summarizer); 11 12 assert_equals(typeof summarizer.summarize, 'function'); 13 assert_equals(typeof summarizer.summarizeStreaming, 'function'); 14 assert_equals(typeof summarizer.measureInputUsage, 'function'); 15 assert_equals(typeof summarizer.destroy, 'function'); 16 17 assert_equals(typeof summarizer.expectedContextLanguages, 'object'); 18 assert_equals(typeof summarizer.expectedInputLanguages, 'object'); 19 assert_equals(typeof summarizer.inputQuota, 'number'); 20 assert_equals(typeof summarizer.outputLanguage, 'object'); 21 assert_equals(typeof summarizer.sharedContext, 'string'); 22 23 assert_equals(typeof summarizer.type, 'string'); 24 assert_equals(typeof summarizer.format, 'string'); 25 assert_equals(typeof summarizer.length, 'string'); 26 27 assert_equals(summarizer.type, 'key-points'); 28 assert_equals(summarizer.format, 'markdown'); 29 assert_equals(summarizer.length, 'short'); 30 }, 'Summarizer.create() returns a valid object with default options'); 31 32 promise_test(async () => { 33 const summarizer = await testMonitor(createSummarizer); 34 assert_equals(typeof summarizer, 'object'); 35 }, 'Summarizer.create() notifies its monitor on downloadprogress'); 36 37 promise_test(async t => { 38 await testCreateMonitorWithAbort(t, Summarizer.create); 39 }, 'Progress events are not emitted after aborted'); 40 41 promise_test(async () => { 42 const sharedContext = 'This is a shared context string'; 43 const summarizer = await createSummarizer({sharedContext: sharedContext}); 44 assert_equals(summarizer.sharedContext, sharedContext); 45 }, 'Summarizer.sharedContext'); 46 47 promise_test(async () => { 48 const summarizer = await createSummarizer({type: 'headline'}); 49 assert_equals(summarizer.type, 'headline'); 50 }, 'Summarizer.type'); 51 52 promise_test(async () => { 53 const summarizer = await createSummarizer({format: 'plain-text'}); 54 assert_equals(summarizer.format, 'plain-text'); 55 }, 'Summarizer.format'); 56 57 promise_test(async () => { 58 const summarizer = await createSummarizer({length: 'medium'}); 59 assert_equals(summarizer.length, 'medium'); 60 }, 'Summarizer.length'); 61 62 promise_test(async () => { 63 const summarizer = await createSummarizer({expectedInputLanguages: ['en']}); 64 assert_array_equals(summarizer.expectedInputLanguages, ['en']); 65 }, 'Summarizer.expectedInputLanguages'); 66 67 promise_test(async () => { 68 const summarizer = await createSummarizer({expectedContextLanguages: ['en']}); 69 assert_array_equals(summarizer.expectedContextLanguages, ['en']); 70 }, 'Summarizer.expectedContextLanguages'); 71 72 promise_test(async () => { 73 const summarizer = await createSummarizer({outputLanguage: 'en'}); 74 assert_equals(summarizer.outputLanguage, 'en'); 75 }, 'Summarizer.outputLanguage'); 76 77 promise_test(async (t) => { 78 return promise_rejects_js( 79 t, RangeError, 80 createSummarizer({expectedInputLanguages: ['en-abc-invalid']})); 81 }, 'Creating Summarizer with malformed language string'); 82 83 promise_test(async (t) => { 84 let summarizer = await createSummarizer({expectedInputLanguages: ['EN']}); 85 assert_true(!!summarizer); 86 }, 'Summarizer.create() canonicalizes language tags'); 87 88 promise_test(async () => { 89 const summarizer = await createSummarizer(); 90 assert_equals(summarizer.expectedInputLanguages, null); 91 assert_equals(summarizer.expectedContextLanguages, null); 92 assert_equals(summarizer.outputLanguage, null); 93 }, 'Summarizer optional attributes return null');