diff options
Diffstat (limited to 'packages/integrations/mdx/test')
-rw-r--r-- | packages/integrations/mdx/test/fixtures/mdx-syntax-hightlighting/src/pages/index.mdx | 9 | ||||
-rw-r--r-- | packages/integrations/mdx/test/mdx-frontmatter.test.js (renamed from packages/integrations/mdx/test/mdx-frontmatter.js) | 0 | ||||
-rw-r--r-- | packages/integrations/mdx/test/mdx-syntax-highlighting.test.js | 67 | ||||
-rw-r--r-- | packages/integrations/mdx/test/mdx-url-export.test.js (renamed from packages/integrations/mdx/test/mdx-url-export.js) | 0 |
4 files changed, 76 insertions, 0 deletions
diff --git a/packages/integrations/mdx/test/fixtures/mdx-syntax-hightlighting/src/pages/index.mdx b/packages/integrations/mdx/test/fixtures/mdx-syntax-hightlighting/src/pages/index.mdx new file mode 100644 index 000000000..23338ffd8 --- /dev/null +++ b/packages/integrations/mdx/test/fixtures/mdx-syntax-hightlighting/src/pages/index.mdx @@ -0,0 +1,9 @@ +# Syntax highlighting + +```astro +--- +const handlesAstroSyntax = true +--- + +<h1>{handlesAstroSyntax}</h1> +``` diff --git a/packages/integrations/mdx/test/mdx-frontmatter.js b/packages/integrations/mdx/test/mdx-frontmatter.test.js index 3021f926f..3021f926f 100644 --- a/packages/integrations/mdx/test/mdx-frontmatter.js +++ b/packages/integrations/mdx/test/mdx-frontmatter.test.js diff --git a/packages/integrations/mdx/test/mdx-syntax-highlighting.test.js b/packages/integrations/mdx/test/mdx-syntax-highlighting.test.js new file mode 100644 index 000000000..d2bbb9266 --- /dev/null +++ b/packages/integrations/mdx/test/mdx-syntax-highlighting.test.js @@ -0,0 +1,67 @@ +import mdx from '@astrojs/mdx'; + +import { expect } from 'chai'; +import { parseHTML } from 'linkedom'; +import { loadFixture } from '../../../astro/test/test-utils.js'; + +const FIXTURE_ROOT = new URL('./fixtures/mdx-syntax-hightlighting/', import.meta.url); + +describe('MDX syntax highlighting', () => { + describe('shiki', () => { + it('works', async () => { + const fixture = await loadFixture({ + root: FIXTURE_ROOT, + markdown: { + syntaxHighlight: 'shiki', + }, + integrations: [mdx()], + }); + await fixture.build(); + + const html = await fixture.readFile('/index.html'); + const { document } = parseHTML(html); + + const shikiCodeBlock = document.querySelector('pre.shiki'); + expect(shikiCodeBlock).to.not.be.null; + }); + + it('respects markdown.shikiConfig.theme', async () => { + const fixture = await loadFixture({ + root: FIXTURE_ROOT, + markdown: { + syntaxHighlight: 'shiki', + shikiConfig: { + theme: 'dracula', + }, + }, + integrations: [mdx()], + }); + await fixture.build(); + + const html = await fixture.readFile('/index.html'); + const { document } = parseHTML(html); + + const shikiCodeBlock = document.querySelector('pre.shiki.dracula'); + expect(shikiCodeBlock).to.not.be.null; + }); + }); + + describe('prism', () => { + it('works', async () => { + const fixture = await loadFixture({ + root: FIXTURE_ROOT, + markdown: { + syntaxHighlight: 'prism', + }, + integrations: [mdx()], + }); + await fixture.build(); + + const html = await fixture.readFile('/index.html'); + const { document } = parseHTML(html); + + const prismCodeBlock = document.querySelector('pre.language-astro'); + expect(prismCodeBlock).to.not.be.null; + }); + }); +}); diff --git a/packages/integrations/mdx/test/mdx-url-export.js b/packages/integrations/mdx/test/mdx-url-export.test.js index 76d6709f0..76d6709f0 100644 --- a/packages/integrations/mdx/test/mdx-url-export.js +++ b/packages/integrations/mdx/test/mdx-url-export.test.js |