'use strict'; const assert = require('assert'); const { chromium } = require('playwright'); const { _private } = require('../src/services/aistudio_api_key_service'); (async () => { const browser = await chromium.launch({ headless: true }); try { const page = await browser.newPage({ viewport: { width: 1200, height: 800 } }); await page.setContent(` `); const delayedStartedAt = Date.now(); const delayed = await _private.waitForCreationDialogOrConsent(page, 5000); assert.strictEqual(delayed.consent, true, '创建框点击期间延迟出现的 Additional Terms 必须被立即识别'); assert(Date.now() - delayedStartedAt < 2000, '检测到条款后不能继续空等完整的创建框超时'); await page.setContent(` `); const handled = await _private.dismissWelcomeConsent(page, () => {}); assert.strictEqual(handled, true); assert.strictEqual(await page.locator('[role="dialog"]').count(), 0, '第一层条款关闭后的延迟 Additional Terms 也必须被处理'); console.log('aistudio_consent_sequence.test.js: PASS'); } finally { await browser.close(); } })().catch(error => { console.error(error); process.exitCode = 1; });