diff --git a/v1/lib/server/__tests__/__fixtures__/subdir/doc3.md b/v1/lib/server/__tests__/__fixtures__/subdir/doc3.md new file mode 100644 index 0000000000..f9ef029724 --- /dev/null +++ b/v1/lib/server/__tests__/__fixtures__/subdir/doc3.md @@ -0,0 +1,9 @@ +--- +id: doc3 +title: Document 3 +--- + +Test subdirectory file + +### Replace this +- [doc3](subdir/doc3.md) diff --git a/v1/lib/server/__tests__/__snapshots__/docs.test.js.snap b/v1/lib/server/__tests__/__snapshots__/docs.test.js.snap index 50cf8f40c9..cc1153c3f1 100644 --- a/v1/lib/server/__tests__/__snapshots__/docs.test.js.snap +++ b/v1/lib/server/__tests__/__snapshots__/docs.test.js.snap @@ -1,5 +1,14 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP +exports[`mdToHtmlify transform link even in subdirectory 1`] = ` +" +Test subdirectory file + +### Replace this +- [doc3](/docs/subdir/doc3) +" +`; + exports[`mdToHtmlify transform nothing 1`] = ` " Docusaurus is the best :) diff --git a/v1/lib/server/__tests__/docs.test.js b/v1/lib/server/__tests__/docs.test.js index 9b51294f92..63e1569631 100644 --- a/v1/lib/server/__tests__/docs.test.js +++ b/v1/lib/server/__tests__/docs.test.js @@ -50,8 +50,14 @@ const doc2 = fs.readFileSync( 'utf8', ); +const doc3 = fs.readFileSync( + path.join(__dirname, '__fixtures__', 'subdir', 'doc3.md'), + 'utf8', +); + const rawContent1 = metadataUtils.extractMetadata(doc1).rawContent; const rawContent2 = metadataUtils.extractMetadata(doc2).rawContent; +const rawContent3 = metadataUtils.extractMetadata(doc3).rawContent; describe('mdToHtmlify', () => { const mdToHtml = metadataUtils.mdToHtml(Metadata, '/'); @@ -77,6 +83,28 @@ describe('mdToHtmlify', () => { expect(content2).toMatchSnapshot(); expect(content2).not.toEqual(rawContent2); }); + + test('transform link even in subdirectory', () => { + const customMetadata = { + 'subdir-doc3': { + id: 'subdir-doc3', + title: 'Document 3', + source: 'subdir/doc3.md', + permalink: 'docs/subdir/doc3.html', + language: 'en', + }, + }; + const customMdToHtml = metadataUtils.mdToHtml(customMetadata, '/'); + const content3 = docs.mdToHtmlify( + rawContent3, + customMdToHtml, + customMetadata['subdir-doc3'], + ); + expect(content3).toContain('/docs/subdir/doc3'); + expect(content3).not.toContain('subdir/doc3.md'); + expect(content3).toMatchSnapshot(); + expect(content3).not.toEqual(rawContent3); + }); }); describe('getFile', () => {