Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

// META: title=Summarizer Abort
// META: script=/resources/testdriver.js
// META: script=../resources/util.js
// META: timeout=long
'use strict';
promise_test(async t => {
await testAbortPromise(t, signal => {
return createSummarizer({signal: signal});
});
}, 'Aborting Summarizer.create().');
promise_test(async t => {
const summarizer = await createSummarizer();
await testAbortPromise(t, signal => {
return summarizer.summarize(kTestPrompt, { signal: signal });
});
}, 'Aborting Summarizer.summarize()');
promise_test(async t => {
const summarizer = await createSummarizer();
await testAbortReadableStream(t, signal => {
return summarizer.summarizeStreaming(kTestPrompt, { signal: signal });
});
}, 'Aborting Summarizer.summarizeStreaming()');
promise_test(async (t) => {
const summarizer = await createSummarizer();
const controller = new AbortController();
const streamingResponse = summarizer.summarizeStreaming(
kTestPrompt, { signal: controller.signal });
for await (const chunk of streamingResponse); // Do nothing
controller.abort();
}, 'Aborting Summarizer.summarizeStreaming() after finished reading');