blob: 90f3fdac12d99eca8d2dd953bcf3b34c11683759 [file] [log] [blame]
// META: script=resources/utils.js
// META: script=resources/workaround-for-382640509.js
// META: timeout=long
promise_test(async () => {
// Make sure the session could be created.
const capabilities = await ai.languageModel.capabilities();
const status = capabilities.available;
// TODO(crbug.com/376789810): make it a PRECONDITION_FAILED if the model is
// not ready.
assert_true(status !== "no");
// Start a new session.
const session = await ai.languageModel.create();
// Make sure there is something to evict.
await session.prompt("Please write a sentence in English.");
// Register the event listener.
const promise = new Promise(resolve => {
session.addEventListener("contextoverflow", () => {
resolve(true);
});
});
const promptString = await getPromptExceedingAvailableTokens(session);
session.prompt(promptString);
await promise;
}, "event listener should be triggered when the context overflows.");