Files

19 lines
1.0 KiB
JavaScript
Raw Permalink Normal View History

const test = require("node:test");
const assert = require("node:assert/strict");
const { TOKEN_INJECT_SCRIPT } = require("../electron/lib/token_inject");
test("token injection script remains compilable", () => {
assert.doesNotThrow(() => new Function(TOKEN_INJECT_SCRIPT));
assert.doesNotMatch(TOKEN_INJECT_SCRIPT, /const VER = "td-token-v17"/);
assert.doesNotMatch(TOKEN_INJECT_SCRIPT, /const STYLE_ID = "td-token-style-v17"/);
});
test("token bar waits for a visible composer toolbar instead of falling back to the page root", () => {
assert.match(TOKEN_INJECT_SCRIPT, /const EDITOR_SELECTOR = "DIV\.ProseMirror/);
assert.match(TOKEN_INJECT_SCRIPT, /if \(!toolbar\) return false;[\s\S]*?const bar = document\.getElementById\(BAR_ID\) \|\| buildBar\(\);/);
assert.match(TOKEN_INJECT_SCRIPT, /if \(!toolbar\.contains\(bar\)\) return placeInToolbar\(bar, toolbar\);/);
assert.doesNotMatch(TOKEN_INJECT_SCRIPT, /centerUnderEditor\(/);
assert.doesNotMatch(TOKEN_INJECT_SCRIPT, /document\.body \|\| document\.documentElement\)\.appendChild\(bar\)/);
});