Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 2 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /ai/language-model/prompt/rejections.tentative.https.window.html - WPT Dashboard Interop Dashboard
// META: title=Language Model Prompt Rejections
// 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 result1 = session.prompt([
{role: 'user', content: 'foo'},
{role: 'system', content: 'bar'},
]);
await promise_rejects_js(t, TypeError, result1);
const result2 = session.prompt([
{role: 'system', content: 'foo'},
{role: 'system', content: 'bar'},
]);
await promise_rejects_js(t, TypeError, result2);
const result3 = session.prompt({role: 'system', content: 'foo'});
await promise_rejects_js(
t, TypeError, session.prompt([{role: 'system', content: 'bar'}]));
await result3;
}, 'prompt() should reject system role messages after other messages');
promise_test(async t => {
await ensureLanguageModel();
const session = await createLanguageModel(
{initialPrompts: [{role: 'user', content: 'initial user prompt'}]});
await promise_rejects_js(
t, TypeError,
session.prompt([{role: 'system', content: 'prompt system prompt'}]));
}, 'prompt() after initializing with user prompt should reject system role');