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\)/); });