41 lines
866 B
JavaScript
41 lines
866 B
JavaScript
|
import { expect } from "chai";
|
||
|
import { loadFixture } from "../../../astro/test/test-utils.js";
|
||
|
import mdx from "../dist/index.js";
|
||
|
|
||
|
const FIXTURE_ROOT = new URL(
|
||
|
"./fixtures/invalid-mdx-component/",
|
||
|
import.meta.url,
|
||
|
);
|
||
|
|
||
|
describe("MDX component with runtime error", () => {
|
||
|
let fixture;
|
||
|
|
||
|
before(async () => {
|
||
|
fixture = await loadFixture({
|
||
|
root: FIXTURE_ROOT,
|
||
|
integrations: [mdx()],
|
||
|
});
|
||
|
});
|
||
|
|
||
|
describe("build", () => {
|
||
|
/** @type {Error | null} */
|
||
|
let error;
|
||
|
|
||
|
before(async () => {
|
||
|
error = null;
|
||
|
try {
|
||
|
await fixture.build();
|
||
|
} catch (e) {
|
||
|
error = e;
|
||
|
}
|
||
|
});
|
||
|
|
||
|
it("Throws the right error", async () => {
|
||
|
expect(error).to.exist;
|
||
|
expect(error?.hint).to.match(
|
||
|
/This issue often occurs when your MDX component encounters runtime errors/,
|
||
|
);
|
||
|
});
|
||
|
});
|
||
|
});
|