Files
sousa-gecko/testing/web-platform/tests/ai/proofreader/proofreader-proofread.tentative.https.window.js
T
Queenie Zhang 6db09e883b Bug 2036340 [wpt PR 59585] - Proofreader API: Update API to fetch correction labels in batch., a=testonly
Automatic update from web-platform-tests
Proofreader API: Update API to fetch correction labels in batch.

This is part of the preparation for the model switching from Nano + LoRA
to small expert model. This input format would only work with the small expert model
and not the existing LoRA.

Bug: 501129860, 507050242
Change-Id: I0deaa245d87d007a64e5ff97cdaa0348924abffe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7668442
Commit-Queue: Queenie Zhang <queeniezhang@google.com>
Reviewed-by: Nathan Memmott <memmott@chromium.org>
Reviewed-by: Mike Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1623557}

--

wpt-commits: 0b99bb446739d67b170f6e07bcd354f5463a3188
wpt-pr: 59585
2026-05-08 08:39:05 +00:00

75 lines
3.0 KiB
JavaScript

// META: title=Proofreader Proofread
// META: script=/resources/testdriver.js
// META: script=../resources/util.js
// META: timeout=long
'use strict';
promise_test(async (t) => {
const proofreader = await createProofreader();
let result = await proofreader.proofread('');
assert_equals(typeof result, 'object');
assert_equals(result.correctedInput, '');
assert_equals(result.corrections, undefined);
}, 'Proofreader.proofread() with an empty input returns an empty text');
promise_test(async (t) => {
const proofreader = await createProofreader();
let result = await proofreader.proofread(' ');
assert_equals(typeof result, 'object');
assert_equals(result.correctedInput, ' ');
assert_equals(result.corrections, undefined);
}, 'Proofreader.proofread() with a whitespace input returns a whitespace text');
promise_test(async (t) => {
const proofreader = await createProofreader();
const result = await proofreader.proofread(kTestPrompt);
assert_equals(typeof result, 'object');
assert_not_equals(result.correctedInput, '');
}, 'Proofreader.proofread() with non-empty input returns a non-empty result');
promise_test(async (t) => {
const input = "can you profread fir me";
const proofreader = await createProofreader();
const result = await proofreader.proofread(input);
assert_equals(typeof result, 'object');
assert_not_equals(result.correctedInput, input);
assert_greater_than(result.corrections.length, 0);
}, 'Proofreader.proofread() returns a list of corrections');
// TODO(crbug.com/507887898): Re-enable this test after small model migration.
// promise_test(async (t) => {
// const input = "can you profread fir me";
// const proofreader = await createProofreader({includeCorrectionTypes: true});
// const result = await proofreader.proofread(input);
// assert_equals(typeof result, 'object');
// assert_not_equals(result.correctedInput, input);
// assert_greater_than(result.corrections.length, 0);
// assert_not_equals(result.corrections[0].types, undefined);
// assert_greater_than(result.corrections[0].types.length, 0);
// }, 'Proofreader.proofread() returns correction types when requested');
promise_test(async (t) => {
await testDestroy(t, createProofreader, {}, [
proofreader => proofreader.proofread(kTestPrompt)
]);
}, 'Calling Proofreader.destroy() aborts calls to proofread');
promise_test(async t => {
await testCreateAbort(t, createProofreader, {}, [
proofreader => proofreader.proofread(kTestPrompt)
]);
}, 'Proofreader.create()\'s abort signal destroys its Proofreader after creation.');
promise_test(async () => {
const proofreader = await createProofreader();
const result = await proofreader.proofread(kTestPrompt);
assert_equals(typeof result, 'object');
}, 'Simple Proofreader.proofread() call');
promise_test(async () => {
const proofreader = await createProofreader();
await Promise.all(
[proofreader.proofread(kTestPrompt), proofreader.proofread(kTestPrompt)]);
}, 'Multiple Proofreader.proofread() calls are resolved successfully');