diff options
Diffstat (limited to 'packages/integrations/mdx/test')
6 files changed, 15 insertions, 16 deletions
diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs index fc15686c2..5335fac87 100644 --- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs +++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/astro.config.mjs @@ -1,12 +1,12 @@ import { defineConfig } from 'astro/config'; import mdx from '@astrojs/mdx'; -import { rehypeReadingTime, remarkTitle } from './src/markdown-plugins.mjs'; +import { rehypeReadingTime, remarkDescription, remarkTitle } from './src/markdown-plugins.mjs'; // https://astro.build/config export default defineConfig({ site: 'https://astro.build/', integrations: [mdx({ - remarkPlugins: [remarkTitle], + remarkPlugins: [remarkTitle, remarkDescription], rehypePlugins: [rehypeReadingTime], })], }); diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs index c0d5f7b2e..35b415787 100644 --- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs +++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/markdown-plugins.mjs @@ -18,3 +18,10 @@ export function remarkTitle() { }); }; } + +export function remarkDescription() { + return function (tree, vfile) { + const { frontmatter } = vfile.data.astro; + frontmatter.description = `Processed by remarkDescription plugin: ${frontmatter.description}` + }; +} diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx index 1092099f0..0d96d95b9 100644 --- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx +++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-1.mdx @@ -1,5 +1,6 @@ --- layout: '../layouts/Base.astro' +description: Page 1 description --- # Page 1 diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx index c82eb97c2..fe6a8286b 100644 --- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx +++ b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/page-2.mdx @@ -1,5 +1,6 @@ --- layout: '../layouts/Base.astro' +description: Page 2 description --- # Page 2 diff --git a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx b/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx deleted file mode 100644 index 4e11c1c37..000000000 --- a/packages/integrations/mdx/test/fixtures/mdx-frontmatter-injection/src/pages/with-overrides.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: 'Overridden title' -injectedReadingTime: - text: '1000 min read' ---- - -# Working! diff --git a/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js b/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js index 780f7252c..8f598b78e 100644 --- a/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js +++ b/packages/integrations/mdx/test/mdx-frontmatter-injection.test.js @@ -33,14 +33,11 @@ describe('MDX frontmatter injection', () => { } }); - it('overrides injected frontmatter with user frontmatter', async () => { + it('allow user frontmatter mutation', async () => { const frontmatterByPage = JSON.parse(await fixture.readFile('/glob.json')); - const readingTimes = frontmatterByPage.map( - (frontmatter = {}) => frontmatter.injectedReadingTime?.text - ); - const titles = frontmatterByPage.map((frontmatter = {}) => frontmatter.title); - expect(titles).to.contain('Overridden title'); - expect(readingTimes).to.contain('1000 min read'); + const descriptions = frontmatterByPage.map((frontmatter = {}) => frontmatter.description); + expect(descriptions).to.contain('Processed by remarkDescription plugin: Page 1 description'); + expect(descriptions).to.contain('Processed by remarkDescription plugin: Page 2 description'); }); it('passes injected frontmatter to layouts', async () => { |