writer-write.tentative.https.window.js (1711B)
1 // META: title=Writer Write 2 // META: script=/resources/testdriver.js 3 // META: script=../resources/util.js 4 // META: timeout=long 5 6 'use strict'; 7 8 promise_test(async (t) => { 9 const writer = await createWriter(); 10 let result = await writer.write(''); 11 assert_equals(result, ''); 12 }, 'Writer.write() with an empty input returns an empty text'); 13 14 promise_test(async (t) => { 15 const writer = await createWriter(); 16 let result = await writer.write(' '); 17 assert_equals(result, ''); 18 }, 'Writer.write() with a whitespace input returns an empty text'); 19 20 promise_test(async (t) => { 21 const writer = await createWriter(); 22 const result = await writer.write(kTestPrompt, {context: ' '}); 23 assert_not_equals(result, ''); 24 }, 'Writer.write() with a whitespace context returns a non-empty result'); 25 26 promise_test(async t => { 27 await testDestroy(t, createWriter, {}, [ 28 writer => writer.write(kTestPrompt), 29 writer => writer.measureInputUsage(kTestPrompt), 30 ]); 31 }, 'Calling Writer.destroy() aborts calls to write and measureInputUsage.'); 32 33 promise_test(async t => { 34 await testCreateAbort(t, createWriter, {}, [ 35 writer => writer.write(kTestPrompt), 36 writer => writer.measureInputUsage(kTestPrompt), 37 ]); 38 }, 'Writer.create()\'s abort signal destroys its Writer after creation.'); 39 40 promise_test(async () => { 41 const writer = await createWriter(); 42 const result = await writer.write(kTestPrompt, {context: kTestContext}); 43 assert_equals(typeof result, 'string'); 44 }, 'Simple Writer.write() call'); 45 46 promise_test(async () => { 47 const writer = await createWriter(); 48 await Promise.all([writer.write(kTestPrompt), writer.write(kTestPrompt)]); 49 }, 'Multiple Writer.write() calls are resolved successfully');