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.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Language Model Prompt Context Usage
// META: script=/resources/testdriver.js
// META: script=/resources/testdriver-vendor.js
// META: script=../../../resources/util.js
// META: timeout=long
'use strict';
promise_test(async () => {
await ensureLanguageModel();
const session = await createLanguageModel();
assert_equals(session.contextUsage, 0);
const promptUsage = await session.measureContextUsage(kTestPrompt);
assert_greater_than(promptUsage, 0);
const result = await session.prompt(kTestPrompt);
assert_equals(typeof result, 'string');
const resultUsage = await session.measureContextUsage(result);
// The response is also appended to the session context, increasing usage.
// Allow some margin for counted tokens vs actual requested tokens.
// TODO(crbug.com/500479741): Add expectation precision.
assert_approx_equals(session.contextUsage, promptUsage + resultUsage, 5);
}, 'Check contextUsage increases from a simple LanguageModel.prompt() call');