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
75 lines
3.0 KiB
JavaScript
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');
|