Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 3 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /ai/summarizer/speed/summarizer-create-available.tentative.https.window.html - WPT Dashboard Interop Dashboard
// 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');