summaryrefslogtreecommitdiff
path: root/packages/integrations/mdx/test/mdx-plugins.test.js
diff options
context:
space:
mode:
Diffstat (limited to 'packages/integrations/mdx/test/mdx-plugins.test.js')
-rw-r--r--packages/integrations/mdx/test/mdx-plugins.test.js35
1 files changed, 35 insertions, 0 deletions
diff --git a/packages/integrations/mdx/test/mdx-plugins.test.js b/packages/integrations/mdx/test/mdx-plugins.test.js
index f74ded3ea..828bcb3d5 100644
--- a/packages/integrations/mdx/test/mdx-plugins.test.js
+++ b/packages/integrations/mdx/test/mdx-plugins.test.js
@@ -36,6 +36,19 @@ describe('MDX plugins', () => {
expect(selectGfmLink(document)).to.not.be.null;
});
+ it('Applies SmartyPants by default', async () => {
+ const fixture = await buildFixture({
+ integrations: [mdx()],
+ });
+
+ const html = await fixture.readFile(FILE);
+ const { document } = parseHTML(html);
+
+ const quote = selectSmartypantsQuote(document);
+ expect(quote).to.not.be.null;
+ expect(quote.textContent).to.contain('“Smartypants” is — awesome');
+ });
+
it('supports custom rehype plugins', async () => {
const fixture = await buildFixture({
integrations: [
@@ -88,6 +101,7 @@ describe('MDX plugins', () => {
markdown: {
remarkPlugins: [remarkToc],
gfm: false,
+ smartypants: false,
},
integrations: [
mdx({
@@ -129,6 +143,23 @@ describe('MDX plugins', () => {
expect(selectGfmLink(document), 'Respects `markdown.gfm` unexpectedly.').to.not.be.null;
}
});
+
+ it('Handles smartypants', async () => {
+ const html = await fixture.readFile(FILE);
+ const { document } = parseHTML(html);
+
+ const quote = selectSmartypantsQuote(document);
+
+ if (extendMarkdownConfig === true) {
+ expect(quote.textContent, 'Does not respect `markdown.smartypants` option.').to.contain(
+ '"Smartypants" is -- awesome'
+ );
+ } else {
+ expect(quote.textContent, 'Respects `markdown.smartypants` unexpectedly.').to.contain(
+ '“Smartypants” is — awesome'
+ );
+ }
+ });
});
}
@@ -202,6 +233,10 @@ function selectGfmLink(document) {
return document.querySelector('a[href="https://handle-me-gfm.com"]');
}
+function selectSmartypantsQuote(document) {
+ return document.querySelector('blockquote');
+}
+
function selectRemarkExample(document) {
return document.querySelector('div[data-remark-plugin-works]');
}