Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /ai/language-model/prompt/context/usage-prompt-quota-exceeded.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Language Model Prompt Context Usage - Prompt Quota Exceeded
// META: script=/resources/testdriver.js
// META: script=/resources/testdriver-vendor.js
// META: script=../../../resources/util.js
// META: timeout=long
'use strict';
promise_test(async t => {
await ensureLanguageModel();
const session = await createLanguageModel();
const promptString = kTestPrompt.repeat(session.contextWindow);
const usage = await session.measureContextUsage(promptString);
try {
await session.prompt(promptString);
assert_unreached("Should have rejected with QuotaExceededError");
} catch (e) {
assert_equals(e.name, 'QuotaExceededError');
// Allow some margin for counted tokens vs actual requested tokens.
// TODO(crbug.com/500479741): Add expectation precision.
assert_approx_equals(e.requested, usage, 50);
assert_equals(e.quota, session.contextWindow);
}
}, 'Test that prompt input exceeding the total context window rejects');