diff --git a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts index 6b1815ee25..e2f83d1f37 100644 --- a/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts +++ b/packages/docusaurus-plugin-content-docs/src/__tests__/docs.test.ts @@ -13,6 +13,7 @@ import { posixPath, DEFAULT_PLUGIN_ID, LAST_UPDATE_FALLBACK, + getLocaleConfig, } from '@docusaurus/utils'; import {getTagsFile} from '@docusaurus/utils-validation'; import {createSidebarsUtils} from '../sidebars/utils'; @@ -842,7 +843,11 @@ describe('simple site', () => { describe('versioned site', () => { async function loadSite( - loadSiteOptions: {options: Partial; locale?: string} = { + loadSiteOptions: { + options?: Partial; + locale?: string; + translate?: boolean; + } = { options: {}, }, ) { @@ -851,6 +856,10 @@ describe('versioned site', () => { siteDir, locale: loadSiteOptions.locale, }); + + // TODO this is quite hacky but gets the job done + getLocaleConfig(context.i18n).translate = loadSiteOptions.translate ?? true; + const options = { id: DEFAULT_PLUGIN_ID, ...DEFAULT_OPTIONS, @@ -1055,6 +1064,43 @@ describe('versioned site', () => { }); }); + it('versioned docs - translate: false', async () => { + const {version100TestUtils} = await loadSite({ + translate: false, + }); + + // This doc is translated, but we still read the original + await version100TestUtils.testMeta(path.join('hello.md'), { + id: 'hello', + sourceDirName: '.', + permalink: '/docs/1.0.0/', + slug: '/', + title: 'hello', + description: 'Hello 1.0.0 !', + frontMatter: { + slug: '/', + tags: ['inlineTag-v1.0.0', 'globalTag-v1.0.0'], + }, + version: '1.0.0', + source: '@site/versioned_docs/version-1.0.0/hello.md', + tags: [ + { + description: undefined, + inline: true, + label: 'inlineTag-v1.0.0', + permalink: '/docs/1.0.0/tags/inline-tag-v-1-0-0', + }, + { + description: 'globalTag-v1.0.0 description', + inline: false, + label: 'globalTag-v1.0.0 label', + permalink: '/docs/1.0.0/tags/globalTag-v1.0.0 permalink', + }, + ], + unlisted: false, + }); + }); + it('next doc slugs', async () => { const {currentVersionTestUtils} = await loadSite();