Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

// META: title=Summarizer Speed Preference Create Available
// META: script=/resources/testdriver.js
// META: script=../../resources/util.js
// META: timeout=long
'use strict';
promise_test(async () => {
const summarizer = await createSummarizer({
preference: 'speed',
outputLanguage: 'en',
});
assert_true(summarizer instanceof Summarizer);
assert_equals(typeof summarizer.summarize, 'function');
assert_equals(typeof summarizer.summarizeStreaming, 'function');
assert_equals(typeof summarizer.measureInputUsage, 'function');
assert_equals(typeof summarizer.destroy, 'function');
assert_equals(typeof summarizer.inputQuota, 'number');
assert_greater_than(summarizer.inputQuota, 0);
assert_equals(summarizer.type, 'key-points');
assert_equals(summarizer.format, 'markdown');
assert_equals(summarizer.length, 'short');
}, 'Summarizer.create() returns a valid object with speed preference');
promise_test(async () => {
const summarizer = await testMonitor(
options => createSummarizer({
preference: 'speed',
outputLanguage: 'en',
...options,
}));
assert_equals(typeof summarizer, 'object');
}, 'Summarizer.create() with speed preference notifies its monitor on downloadprogress');
promise_test(async () => {
const summarizer = await createSummarizer({
preference: 'speed',
type: 'tldr',
format: 'plain-text',
length: 'medium',
expectedInputLanguages: ['en'],
outputLanguage: 'en',
});
assert_equals(summarizer.type, 'tldr');
assert_equals(summarizer.format, 'plain-text');
assert_equals(summarizer.length, 'medium');
assert_array_equals(summarizer.expectedInputLanguages, ['en']);
assert_equals(summarizer.outputLanguage, 'en');
}, 'Summarizer.create() with speed preference configures supported attributes');