From 73b8d60f8c3eeae74035202b0ea0d4848e736c7d Mon Sep 17 00:00:00 2001 From: AndyClifford <70119888+AndyClifford@users.noreply.github.com> Date: Tue, 24 Oct 2023 20:40:54 +1300 Subject: feat(markdoc): allowIndentation integration option (#8802) --- packages/integrations/markdoc/test/render.test.js | 42 +++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'packages/integrations/markdoc/test/render.test.js') diff --git a/packages/integrations/markdoc/test/render.test.js b/packages/integrations/markdoc/test/render.test.js index 86ffcb707..97c441b85 100644 --- a/packages/integrations/markdoc/test/render.test.js +++ b/packages/integrations/markdoc/test/render.test.js @@ -46,6 +46,19 @@ describe('Markdoc - render', () => { await server.stop(); }); + it('renders content - with indented components', async () => { + const fixture = await getFixture('render-with-indented-components'); + const server = await fixture.startDevServer(); + + const res = await fixture.fetch('/'); + const html = await res.text(); + + renderIndentedComponentsChecks(html); + + await server.stop(); + + }); + it('renders content - with `render: null` in document', async () => { const fixture = await getFixture('render-null'); const server = await fixture.startDevServer(); @@ -87,6 +100,15 @@ describe('Markdoc - render', () => { renderComponentsChecks(html); }); + it('renders content - with indented components', async () => { + const fixture = await getFixture('render-with-indented-components'); + await fixture.build(); + + const html = await fixture.readFile('/index.html'); + + renderIndentedComponentsChecks(html); + }); + it('renders content - with `render: null` in document', async () => { const fixture = await getFixture('render-null'); await fixture.build(); @@ -125,6 +147,26 @@ function renderComponentsChecks(html) { expect(pre.className).to.equal('astro-code github-dark'); } +/** @param {string} html */ +function renderIndentedComponentsChecks(html) { + const { document } = parseHTML(html); + const h2 = document.querySelector('h2'); + expect(h2.textContent).to.equal('Post with indented components'); + + // Renders custom shortcode components + const marquees = document.querySelectorAll('marquee'); + expect(marquees.length).to.equal(2); + + // Renders h3 + const h3 = document.querySelector('h3'); + expect(h3.textContent).to.equal('I am an h3!'); + + // Renders Astro Code component + const pre = document.querySelector('pre'); + expect(pre).to.not.be.null; + expect(pre.className).to.equal('astro-code github-dark'); +} + /** @param {string} html */ function renderConfigChecks(html) { const { document } = parseHTML(html); -- cgit v1.2.3