27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { expect, test } from "bun:test";
|
|
import { documentDiagnostics, virtualTypeScriptDocument } from "../src/index.ts";
|
|
|
|
test("editor diagnostics accept translated PageHeader attributes without hiding real errors", () => {
|
|
const document = {
|
|
uri: "file:///contact.wrn",
|
|
text: `page Contact {
|
|
view {
|
|
<div data-component="PageHeader" eyebrow="{t:contact.eyebrow}" title="{t:contact.title}" description="{t:contact.description}"></div>
|
|
<p title="{t:contact.title} {missingValue}"></p>
|
|
}
|
|
}`,
|
|
};
|
|
const diagnostics = documentDiagnostics(document).filter(
|
|
(item) => item.source === "wrnexus-types",
|
|
);
|
|
expect(diagnostics).toHaveLength(1);
|
|
expect(diagnostics[0]?.message).toContain("missingValue");
|
|
expect(diagnostics[0]?.range.start.line).toBe(3);
|
|
expect(virtualTypeScriptDocument(document).text).not.toContain("void (t:");
|
|
expect(
|
|
documentDiagnostics({ ...document, text: document.text.replace("{missingValue}", "") }).filter(
|
|
(item) => item.source === "wrnexus-types",
|
|
),
|
|
).toEqual([]);
|
|
});
|