diff options
Diffstat (limited to 'packages/integrations/mdx/test/invalid-mdx-component.test.js')
-rw-r--r-- | packages/integrations/mdx/test/invalid-mdx-component.test.js | 39 |
1 files changed, 39 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..b8152e89c --- /dev/null +++ b/packages/integrations/mdx/test/invalid-mdx-component.test.js @@ -0,0 +1,39 @@ +import * as assert from 'node:assert/strict'; +import { before, describe, it } from 'node:test'; +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 () => { + assert.ok(error); + assert.match( + error?.hint, + /This issue often occurs when your MDX component encounters runtime errors/, + ); + }); + }); +}); |