Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 7 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /ai/rewriter/rewriter-rewrite.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Rewriter Rewrite
// META: script=/resources/testdriver.js
// META: script=../resources/util.js
// META: timeout=long
'use strict';
promise_test(async (t) => {
const rewriter = await createRewriter();
let result = await rewriter.rewrite('');
assert_equals(result, '');
}, 'Rewriter.rewrite() with an empty input returns an empty text');
promise_test(async (t) => {
const rewriter = await createRewriter();
let result = await rewriter.rewrite(' ');
assert_equals(result, ' ');
}, 'Rewriter.rewrite() with a whitespace input returns a whitespace text');
promise_test(async (t) => {
const rewriter = await createRewriter();
const result = await rewriter.rewrite(kTestPrompt, {context: ' '});
assert_not_equals(result, '');
}, 'Rewriter.rewrite() with a whitespace context returns a non-empty result');
promise_test(async t => {
await testDestroy(t, createRewriter, {}, [
rewriter => rewriter.rewrite(kTestPrompt),
rewriter => rewriter.measureInputUsage(kTestPrompt),
]);
}, 'Calling Rewriter.destroy() aborts calls to rewrite and measureInputUsage.');
promise_test(async t => {
await testCreateAbort(t, createRewriter, {}, [
rewriter => rewriter.rewrite(kTestPrompt),
rewriter => rewriter.measureInputUsage(kTestPrompt),
]);
}, 'Rewriter.create()\'s abort signal destroys its Rewriter after creation.');
promise_test(async () => {
const rewriter = await createRewriter();
const result = await rewriter.rewrite(kTestPrompt, {context: kTestContext});
assert_equals(typeof result, 'string');
}, 'Simple Rewriter.rewrite() call');
promise_test(async () => {
const rewriter = await createRewriter();
await Promise.all(
[rewriter.rewrite(kTestPrompt), rewriter.rewrite(kTestPrompt)]);
}, 'Multiple Rewriter.rewrite() calls are resolved successfully');