Files
pbakaus_impeccable/tests/extension-build.test.mjs
T

23 lines
1005 B
JavaScript

import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
import { fileURLToPath } from 'node:url';
import path from 'node:path';
const ROOT = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
describe('extension DevTools packaging', () => {
it('uses extension-root paths for DevTools panel pages', () => {
const source = readFileSync(path.join(ROOT, 'extension/devtools/devtools.js'), 'utf-8');
assert.match(
source,
/chrome\.devtools\.panels\.create\(\s*['"]Impeccable['"],\s*['"]\/icons\/icon-32\.png['"],\s*['"]\/devtools\/panel\.html['"]\s*\)/s,
'Firefox resolves DevTools URLs relative to devtools.html unless they start at the extension root',
);
assert.match(source, /sidebar\.setPage\(['"]\/devtools\/sidebar\.html['"]\)/);
assert.doesNotMatch(source, /['"]devtools\/(?:panel|sidebar)\.html['"]/);
assert.doesNotMatch(source, /['"]icons\/icon-32\.png['"]/);
});
});