/** * Chat Runner — chat/shell-topbar suite * * Validates the Chat surface uses the v0.7.0 shell topbar contract * and does not render the legacy sw.shell.Topbar component. */ (function () { 'use strict'; sw.testing.suite('chat/shell-topbar', async function (s) { s.test('surface JS does not reference legacy Topbar', async function (t) { var base = window.__BASE__ || ''; var resp = await fetch(base + '/surfaces/chat/js/main.js'); t.assert.eq(resp.status, 200, 'fetched chat main.js'); var src = await resp.text(); var hasLegacy = src.indexOf('sw.shell.Topbar') !== -1; t.assert.ok(!hasLegacy, 'no sw.shell.Topbar reference (uses shell topbar API)'); }); s.test('surface JS uses shell topbar API', async function (t) { var base = window.__BASE__ || ''; var resp = await fetch(base + '/surfaces/chat/js/main.js'); var src = await resp.text(); var usesAPI = src.indexOf('sw.shell.topbar.setTitle') !== -1 || src.indexOf('sw.shell.topbar.setSlot') !== -1; t.assert.ok(usesAPI, 'uses sw.shell.topbar.setTitle or setSlot'); }); }); })();