35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
// 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');
|