// 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');