diff options
author | 2023-06-09 20:21:32 +0000 | |
---|---|---|
committer | 2023-06-09 20:21:32 +0000 | |
commit | bc7c164bc34959ab393df89adf961f269f147d09 (patch) | |
tree | 127837def19e6858d90dd0d4be0893cf0d97d33f /packages/integrations/mdx/test/invalid-mdx-component.test.js | |
parent | e138f663442c27c473987900cb1fe243949a5a52 (diff) | |
download | astro-bc7c164bc34959ab393df89adf961f269f147d09.tar.gz astro-bc7c164bc34959ab393df89adf961f269f147d09.tar.zst astro-bc7c164bc34959ab393df89adf961f269f147d09.zip |
Do not silence runtime MDX errors (#7089)
* test: add fixture
* chore: remove unneeded files in fixture
* test: update test mdx filfe
* test: add test case
* mark component as mdx
* add error builder utility
* throw error when it comes from an MDX component
* chore: update lock file
* Add comment to refactor later
* apply review
* add missing comma
Diffstat (limited to 'packages/integrations/mdx/test/invalid-mdx-component.test.js')
-rw-r--r-- | packages/integrations/mdx/test/invalid-mdx-component.test.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/packages/integrations/mdx/test/invalid-mdx-component.test.js b/packages/integrations/mdx/test/invalid-mdx-component.test.js new file mode 100644 index 000000000..a07401c60 --- /dev/null +++ b/packages/integrations/mdx/test/invalid-mdx-component.test.js @@ -0,0 +1,40 @@ +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/, + ); + }); + }); +}); |