fix(v2): markdown title parser should ignore all forms of MDX import statements (#4735)

Co-authored-by: Nam Hoang Le <nam.hoang.le@mgm-tp.com>
This commit is contained in:
Nam Hoang Le 2021-05-06 16:50:21 +07:00 committed by GitHub
parent 8c39826496
commit 404b4dba8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 6 deletions

View file

@ -278,6 +278,53 @@ describe('parseMarkdownContentTitle', () => {
});
});
test('Should parse markdown h1 title placed after various import declarations', () => {
const markdown = `
import DefaultComponent from '@site/src/components/Component1';
import DefaultComponent2 from '../relative/path/Component2';
import * as EntireComponent from './relative/path/Component3';
import { Component4 } from "double-quote-module-name";
import { Component51, Component52, \n Component53, \n\t\t Component54 } from "double-quote-module-name";
import { Component6 as AliasComponent6 } from "module-name";
import DefaultComponent8, { DefaultComponent81 ,\nDefaultComponent82 } from "module-name";
import DefaultComponent9, * as EntireComponent9 from "module-name";
import {Component71,\nComponent72 as AliasComponent72,\nComponent73\n} \nfrom "module-name";
import './styles.css';
import _ from 'underscore';
import "module-name"
# Markdown Title
Lorem Ipsum
`;
expect(parseMarkdownContentTitle(markdown)).toEqual({
content: `
import DefaultComponent from '@site/src/components/Component1';
import DefaultComponent2 from '../relative/path/Component2';
import * as EntireComponent from './relative/path/Component3';
import { Component4 } from "double-quote-module-name";
import { Component51, Component52, \n Component53, \n\t\t Component54 } from "double-quote-module-name";
import { Component6 as AliasComponent6 } from "module-name";
import DefaultComponent8, { DefaultComponent81 ,\nDefaultComponent82 } from "module-name";
import DefaultComponent9, * as EntireComponent9 from "module-name";
import {Component71,\nComponent72 as AliasComponent72,\nComponent73\n} \nfrom "module-name";
import './styles.css';
import _ from 'underscore';
import "module-name"
Lorem Ipsum
`.trim(),
contentTitle: 'Markdown Title',
});
});
test('Should parse markdown h1 alternate title placed after import declarations', () => {
const markdown = dedent`
import Component from '@site/src/components/Component';