proofreader-proofread.tentative.https.window.js (2890B)
1 // META: title=Proofreader Proofread 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 proofreader = await createProofreader(); 10 let result = await proofreader.proofread(''); 11 assert_equals(typeof result, 'object'); 12 assert_equals(result.correctedInput, ''); 13 assert_equals(result.corrections, undefined); 14 }, 'Proofreader.proofread() with an empty input returns an empty text'); 15 16 promise_test(async (t) => { 17 const proofreader = await createProofreader(); 18 let result = await proofreader.proofread(' '); 19 assert_equals(typeof result, 'object'); 20 assert_equals(result.correctedInput, ' '); 21 assert_equals(result.corrections, undefined); 22 }, 'Proofreader.proofread() with a whitespace input returns a whitespace text'); 23 24 promise_test(async (t) => { 25 const proofreader = await createProofreader(); 26 const result = await proofreader.proofread(kTestPrompt); 27 assert_equals(typeof result, 'object'); 28 assert_not_equals(result.correctedInput, ''); 29 }, 'Proofreader.proofread() with non-empty input returns a non-empty result'); 30 31 promise_test(async (t) => { 32 const input = "can you profread fir me"; 33 const proofreader = await createProofreader(); 34 const result = await proofreader.proofread(input); 35 assert_equals(typeof result, 'object'); 36 assert_not_equals(result.correctedInput, input); 37 assert_greater_than(result.corrections.length, 0); 38 }, 'Proofreader.proofread() returns a list of corrections'); 39 40 promise_test(async (t) => { 41 const input = "can you profread fir me"; 42 const proofreader = await createProofreader({includeCorrectionTypes: true}); 43 const result = await proofreader.proofread(input); 44 assert_equals(typeof result, 'object'); 45 assert_not_equals(result.correctedInput, input); 46 assert_greater_than(result.corrections.length, 0); 47 assert_not_equals(result.corrections[0].type, undefined); 48 }, 'Proofreader.proofread() returns correction types when requested'); 49 50 promise_test(async (t) => { 51 await testDestroy(t, createProofreader, {}, [ 52 proofreader => proofreader.proofread(kTestPrompt) 53 ]); 54 }, 'Calling Proofreader.destroy() aborts calls to proofread'); 55 56 promise_test(async t => { 57 await testCreateAbort(t, createProofreader, {}, [ 58 proofreader => proofreader.proofread(kTestPrompt) 59 ]); 60 }, 'Proofreader.create()\'s abort signal destroys its Proofreader after creation.'); 61 62 promise_test(async () => { 63 const proofreader = await createProofreader(); 64 const result = await proofreader.proofread(kTestPrompt); 65 assert_equals(typeof result, 'object'); 66 }, 'Simple Proofreader.proofread() call'); 67 68 promise_test(async () => { 69 const proofreader = await createProofreader(); 70 await Promise.all( 71 [proofreader.proofread(kTestPrompt), proofreader.proofread(kTestPrompt)]); 72 }, 'Multiple Proofreader.proofread() calls are resolved successfully');