testHighlightingTemplatesRegexesKeywords
Source highlighting: template literals resume after substitutions; regex vs division; control keywords.
import { classes } from "#codebase/tcmts/cli/test/highlight"; import assert from "node:assert/strict"; export const testHighlightingTemplatesRegexesKeywords = () => { assert.equal(classes("f(`a:${g().x}`, { n: 5 });"), "[f:f]([s:`a:${][f:g]().x[s:}`], { n: [n:5] });"); assert.equal(classes("`${a}-${ {x: 1}.x }`"), "[s:`${]a[s:}-${] {x: [n:1]}.x [s:}`]"); assert.equal(classes("const r = /a+b/g.test(q) ? 1 / 2 : 0;"), "[k:const] r = [s:/a+b/g].[f:test](q) ? [n:1] / [n:2] : [n:0];"); assert.equal(classes("if (x) return y; // done"), "[x:if] (x) [x:return] y; [c:// done]"); }