v0.31.3
This commit is contained in:
1 parent
0facfe6f5c
commit
95c55da2ee
39 files changed
+715
-151
No files matched your search
@@ -12,13 +12,14 @@ const html = read('src/admin/web/index.html');
|
||||
const css = read('src/admin/web/style.css');
|
||||
const core = read('src/admin/web/app/core.js');
|
||||
const runtime = read('src/admin/web/app/runtime.js');
|
||||
const resume = read('src/admin/web/app/session-resume.js');
|
||||
|
||||
assert.match(html, /<html class="app-loading"/);
|
||||
assert.match(html, /id="app-startup"[^>]*role="status"/);
|
||||
assert.match(html, /id="app-startup-title"/);
|
||||
assert.match(html, /class="app-startup-spinner"/);
|
||||
assert.match(html, /class="app-startup-recovery"/);
|
||||
assert.match(html, /class="outline" href="" data-i18n="startupRetry"/);
|
||||
assert.match(html, /class="outline" id="app-startup-reload" href="" data-i18n="startupRetry"/);
|
||||
assert.match(html, /<noscript>/);
|
||||
assert.doesNotMatch(css, /html\.app-loading\s+body\s*\{\s*visibility:\s*hidden/);
|
||||
assert.match(css, /html\.app-loading \.shell/);
|
||||
@@ -37,13 +38,13 @@ assert.match(css, /\.page-intro-title-row \.overview-refresh/);
|
||||
|
||||
// Exercise the real activate() and failure handler against a small DOM fake.
|
||||
const activateSource = core.slice(core.indexOf('async function activate(info) {'), core.indexOf('async function loadAudit()'));
|
||||
const failureSource = core.slice(core.indexOf('function showStartupFailure(error)'));
|
||||
const failureSource = resume.slice(resume.indexOf('function displayStartupError(error, sessionResume = false)'));
|
||||
assert(activateSource.startsWith('async function activate(info)'));
|
||||
assert(failureSource.startsWith('function showStartupFailure(error)'));
|
||||
assert(failureSource.startsWith('function displayStartupError(error, sessionResume = false)'));
|
||||
|
||||
const nodes = new Map();
|
||||
const node = key => {
|
||||
if (!nodes.has(key)) nodes.set(key, { hidden: true, value: 'x', textContent: '' });
|
||||
if (!nodes.has(key)) nodes.set(key, { hidden: true, value: 'x', textContent: '', addEventListener() {} });
|
||||
return nodes.get(key);
|
||||
};
|
||||
const classes = new Set(['app-loading']);
|
||||
@@ -55,6 +56,8 @@ const context = {
|
||||
document: { documentElement: { classList: {
|
||||
add(...keys) { for (const key of keys) classes.add(key); },
|
||||
remove(...keys) { for (const key of keys) classes.delete(key); },
|
||||
toggle(key, force) { if (force) classes.add(key); else classes.delete(key); },
|
||||
contains(key) { return classes.has(key); },
|
||||
} } },
|
||||
pendingAuthDestination: null,
|
||||
authMessage() {},
|
||||
@@ -65,7 +68,7 @@ const context = {
|
||||
loadConfig: () => { configCount++; return configPromise; },
|
||||
refresh: async () => { statusCount++; },
|
||||
toast() { throw new Error('Unexpected toast'); },
|
||||
window: {}, languagePacks: new Map(), t: key => key,
|
||||
window: { rustProxyRefresh: { stop() {} } }, languagePacks: new Map(), t: key => key,
|
||||
};
|
||||
runInNewContext(`${activateSource}\n${failureSource}`, context);
|
||||
const activating = context.activate({ username: 'admin', csrf_token: 'CSRF' });
|
||||
|
||||
Reference in new issue
Block a user