mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-02 19:03:38 +02:00
v2: prepare to move
This commit is contained in:
parent
dc7ef96849
commit
45736200b0
172 changed files with 0 additions and 0 deletions
178
v2/test/load/__fixtures__/bad-site/languages.js
Normal file
178
v2/test/load/__fixtures__/bad-site/languages.js
Normal file
|
@ -0,0 +1,178 @@
|
|||
const languages = [
|
||||
{
|
||||
enabled: false,
|
||||
name: 'English',
|
||||
tag: 'en',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '日本語',
|
||||
tag: 'ja',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'العربية',
|
||||
tag: 'ar',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bosanski',
|
||||
tag: 'bs-BA',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Català',
|
||||
tag: 'ca',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Čeština',
|
||||
tag: 'cs',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Dansk',
|
||||
tag: 'da',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Deutsch',
|
||||
tag: 'de',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Ελληνικά',
|
||||
tag: 'el',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Español',
|
||||
tag: 'es-ES',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'فارسی',
|
||||
tag: 'fa-IR',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Suomi',
|
||||
tag: 'fi',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Français',
|
||||
tag: 'fr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'עִברִית',
|
||||
tag: 'he',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Magyar',
|
||||
tag: 'hu',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bahasa Indonesia',
|
||||
tag: 'id-ID',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Italiano',
|
||||
tag: 'it',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Afrikaans',
|
||||
tag: 'af',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '한국어',
|
||||
tag: 'ko',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'मराठी',
|
||||
tag: 'mr-IN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Nederlands',
|
||||
tag: 'nl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Norsk',
|
||||
tag: 'no-NO',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Polskie',
|
||||
tag: 'pl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português',
|
||||
tag: 'pt-PT',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português (Brasil)',
|
||||
tag: 'pt-BR',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Română',
|
||||
tag: 'ro',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Русский',
|
||||
tag: 'ru',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Slovenský',
|
||||
tag: 'sk-SK',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Српски језик (Ћирилица)',
|
||||
tag: 'sr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Svenska',
|
||||
tag: 'sv-SE',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Türkçe',
|
||||
tag: 'tr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Українська',
|
||||
tag: 'uk',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Tiếng Việt',
|
||||
tag: 'vi',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '简体中文',
|
||||
tag: 'zh-CN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '繁體中文',
|
||||
tag: 'zh-TW',
|
||||
},
|
||||
];
|
||||
module.exports = languages;
|
4
v2/test/load/__fixtures__/bad-site/siteConfig.js
Normal file
4
v2/test/load/__fixtures__/bad-site/siteConfig.js
Normal file
|
@ -0,0 +1,4 @@
|
|||
module.exports = {
|
||||
title: 'Munseo',
|
||||
baseUrl: '/'
|
||||
};
|
3
v2/test/load/__fixtures__/simple-pages/bar/baz.js
Normal file
3
v2/test/load/__fixtures__/simple-pages/bar/baz.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import React from 'react';
|
||||
|
||||
export default () => <div>Baz</div>;
|
3
v2/test/load/__fixtures__/simple-pages/foo.js
Normal file
3
v2/test/load/__fixtures__/simple-pages/foo.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import React from 'react';
|
||||
|
||||
export default () => <div>Foo</div>;
|
3
v2/test/load/__fixtures__/simple-pages/foo/index.js
Normal file
3
v2/test/load/__fixtures__/simple-pages/foo/index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import React from 'react';
|
||||
|
||||
export default () => <div>Foo in subfolder</div>;
|
3
v2/test/load/__fixtures__/simple-pages/index.js
Normal file
3
v2/test/load/__fixtures__/simple-pages/index.js
Normal file
|
@ -0,0 +1,3 @@
|
|||
import React from 'react';
|
||||
|
||||
export default () => <div>Index</div>;
|
10
v2/test/load/__fixtures__/simple-site/sidebars.json
Normal file
10
v2/test/load/__fixtures__/simple-site/sidebars.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"docs": {
|
||||
"Getting Started": [
|
||||
"installation"
|
||||
],
|
||||
"Guides": [
|
||||
"blog"
|
||||
]
|
||||
}
|
||||
}
|
7
v2/test/load/__fixtures__/simple-site/siteConfig.js
Normal file
7
v2/test/load/__fixtures__/simple-site/siteConfig.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/'
|
||||
};
|
178
v2/test/load/__fixtures__/translated-site/languages.js
Normal file
178
v2/test/load/__fixtures__/translated-site/languages.js
Normal file
|
@ -0,0 +1,178 @@
|
|||
const languages = [
|
||||
{
|
||||
enabled: true,
|
||||
name: 'English',
|
||||
tag: 'en',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '日本語',
|
||||
tag: 'ja',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'العربية',
|
||||
tag: 'ar',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bosanski',
|
||||
tag: 'bs-BA',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Català',
|
||||
tag: 'ca',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Čeština',
|
||||
tag: 'cs',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Dansk',
|
||||
tag: 'da',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Deutsch',
|
||||
tag: 'de',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Ελληνικά',
|
||||
tag: 'el',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Español',
|
||||
tag: 'es-ES',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'فارسی',
|
||||
tag: 'fa-IR',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Suomi',
|
||||
tag: 'fi',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Français',
|
||||
tag: 'fr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'עִברִית',
|
||||
tag: 'he',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Magyar',
|
||||
tag: 'hu',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bahasa Indonesia',
|
||||
tag: 'id-ID',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Italiano',
|
||||
tag: 'it',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Afrikaans',
|
||||
tag: 'af',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '한국어',
|
||||
tag: 'ko',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'मराठी',
|
||||
tag: 'mr-IN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Nederlands',
|
||||
tag: 'nl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Norsk',
|
||||
tag: 'no-NO',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Polskie',
|
||||
tag: 'pl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português',
|
||||
tag: 'pt-PT',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português (Brasil)',
|
||||
tag: 'pt-BR',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Română',
|
||||
tag: 'ro',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Русский',
|
||||
tag: 'ru',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Slovenský',
|
||||
tag: 'sk-SK',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Српски језик (Ћирилица)',
|
||||
tag: 'sr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Svenska',
|
||||
tag: 'sv-SE',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Türkçe',
|
||||
tag: 'tr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Українська',
|
||||
tag: 'uk',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Tiếng Việt',
|
||||
tag: 'vi',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: '简体中文',
|
||||
tag: 'zh-CN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '繁體中文',
|
||||
tag: 'zh-TW',
|
||||
},
|
||||
];
|
||||
module.exports = languages;
|
8
v2/test/load/__fixtures__/translated-site/siteConfig.js
Normal file
8
v2/test/load/__fixtures__/translated-site/siteConfig.js
Normal file
|
@ -0,0 +1,8 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/',
|
||||
defaultLanguage: 'en'
|
||||
};
|
178
v2/test/load/__fixtures__/transversioned-site/languages.js
Normal file
178
v2/test/load/__fixtures__/transversioned-site/languages.js
Normal file
|
@ -0,0 +1,178 @@
|
|||
const languages = [
|
||||
{
|
||||
enabled: true,
|
||||
name: 'English',
|
||||
tag: 'en',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '日本語',
|
||||
tag: 'ja',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'العربية',
|
||||
tag: 'ar',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bosanski',
|
||||
tag: 'bs-BA',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Català',
|
||||
tag: 'ca',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Čeština',
|
||||
tag: 'cs',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Dansk',
|
||||
tag: 'da',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Deutsch',
|
||||
tag: 'de',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Ελληνικά',
|
||||
tag: 'el',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Español',
|
||||
tag: 'es-ES',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'فارسی',
|
||||
tag: 'fa-IR',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Suomi',
|
||||
tag: 'fi',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Français',
|
||||
tag: 'fr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'עִברִית',
|
||||
tag: 'he',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Magyar',
|
||||
tag: 'hu',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Bahasa Indonesia',
|
||||
tag: 'id-ID',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Italiano',
|
||||
tag: 'it',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Afrikaans',
|
||||
tag: 'af',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '한국어',
|
||||
tag: 'ko',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'मराठी',
|
||||
tag: 'mr-IN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Nederlands',
|
||||
tag: 'nl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Norsk',
|
||||
tag: 'no-NO',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Polskie',
|
||||
tag: 'pl',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português',
|
||||
tag: 'pt-PT',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Português (Brasil)',
|
||||
tag: 'pt-BR',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Română',
|
||||
tag: 'ro',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Русский',
|
||||
tag: 'ru',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Slovenský',
|
||||
tag: 'sk-SK',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Српски језик (Ћирилица)',
|
||||
tag: 'sr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Svenska',
|
||||
tag: 'sv-SE',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: 'Türkçe',
|
||||
tag: 'tr',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Українська',
|
||||
tag: 'uk',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: 'Tiếng Việt',
|
||||
tag: 'vi',
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: '简体中文',
|
||||
tag: 'zh-CN',
|
||||
},
|
||||
{
|
||||
enabled: false,
|
||||
name: '繁體中文',
|
||||
tag: 'zh-TW',
|
||||
},
|
||||
];
|
||||
module.exports = languages;
|
10
v2/test/load/__fixtures__/transversioned-site/sidebars.json
Normal file
10
v2/test/load/__fixtures__/transversioned-site/sidebars.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"docs": {
|
||||
"Getting Started": [
|
||||
"installation"
|
||||
],
|
||||
"Guides": [
|
||||
"blog"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/',
|
||||
defaultLanguage: 'en'
|
||||
};
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version-1.0.0-docs": {
|
||||
"Getting Started": [
|
||||
"version-1.0.0-installation"
|
||||
],
|
||||
"Guides": [
|
||||
"version-1.0.0-blog"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version-1.0.1-docs": {
|
||||
"Getting Started": [
|
||||
"version-1.0.1-installation"
|
||||
],
|
||||
"Guides": [
|
||||
"version-1.0.1-blog"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
[
|
||||
"1.0.1",
|
||||
"1.0.0"
|
||||
]
|
10
v2/test/load/__fixtures__/versioned-site/sidebars.json
Normal file
10
v2/test/load/__fixtures__/versioned-site/sidebars.json
Normal file
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"docs": {
|
||||
"Getting Started": [
|
||||
"installation"
|
||||
],
|
||||
"Guides": [
|
||||
"blog"
|
||||
]
|
||||
}
|
||||
}
|
7
v2/test/load/__fixtures__/versioned-site/siteConfig.js
Normal file
7
v2/test/load/__fixtures__/versioned-site/siteConfig.js
Normal file
|
@ -0,0 +1,7 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/'
|
||||
};
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version-1.0.0-docs": {
|
||||
"Getting Started": [
|
||||
"version-1.0.0-installation"
|
||||
],
|
||||
"Guides": [
|
||||
"version-1.0.0-blog"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version-1.0.1-docs": {
|
||||
"Getting Started": [
|
||||
"version-1.0.1-installation"
|
||||
],
|
||||
"Guides": [
|
||||
"version-1.0.1-blog"
|
||||
]
|
||||
}
|
||||
}
|
4
v2/test/load/__fixtures__/versioned-site/versions.json
Normal file
4
v2/test/load/__fixtures__/versioned-site/versions.json
Normal file
|
@ -0,0 +1,4 @@
|
|||
[
|
||||
"1.0.1",
|
||||
"1.0.0"
|
||||
]
|
11
v2/test/load/__fixtures__/wrong-site/siteConfig.js
Normal file
11
v2/test/load/__fixtures__/wrong-site/siteConfig.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
module.exports = {
|
||||
title: 'Hello',
|
||||
tagline: 'Hello World',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
baseUrl: '/',
|
||||
useLessField: 'what',
|
||||
superman: 'lol',
|
||||
admin: 'endi',
|
||||
customFields: ['admin', 'superman']
|
||||
};
|
131
v2/test/load/__snapshots__/env.test.js.snap
Normal file
131
v2/test/load/__snapshots__/env.test.js.snap
Normal file
|
@ -0,0 +1,131 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`loadEnv website with both versioning & translation disabled 1`] = `
|
||||
Object {
|
||||
"translation": Object {
|
||||
"defaultLanguage": Object {},
|
||||
"enabled": false,
|
||||
"enabledLanguages": Array [],
|
||||
},
|
||||
"versioning": Object {
|
||||
"defaultVersion": null,
|
||||
"enabled": false,
|
||||
"latestVersion": null,
|
||||
"versions": Array [],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadEnv website with translation enabled 1`] = `
|
||||
Object {
|
||||
"translation": Object {
|
||||
"defaultLanguage": Object {
|
||||
"enabled": true,
|
||||
"name": "English",
|
||||
"tag": "en",
|
||||
},
|
||||
"enabled": true,
|
||||
"enabledLanguages": Array [
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "English",
|
||||
"tag": "en",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Español",
|
||||
"tag": "es-ES",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Română",
|
||||
"tag": "ro",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Türkçe",
|
||||
"tag": "tr",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "简体中文",
|
||||
"tag": "zh-CN",
|
||||
},
|
||||
],
|
||||
},
|
||||
"versioning": Object {
|
||||
"defaultVersion": null,
|
||||
"enabled": false,
|
||||
"latestVersion": null,
|
||||
"versions": Array [],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadEnv website with versioning & translation enabled 1`] = `
|
||||
Object {
|
||||
"translation": Object {
|
||||
"defaultLanguage": Object {
|
||||
"enabled": true,
|
||||
"name": "English",
|
||||
"tag": "en",
|
||||
},
|
||||
"enabled": true,
|
||||
"enabledLanguages": Array [
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "English",
|
||||
"tag": "en",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Español",
|
||||
"tag": "es-ES",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Română",
|
||||
"tag": "ro",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "Türkçe",
|
||||
"tag": "tr",
|
||||
},
|
||||
Object {
|
||||
"enabled": true,
|
||||
"name": "简体中文",
|
||||
"tag": "zh-CN",
|
||||
},
|
||||
],
|
||||
},
|
||||
"versioning": Object {
|
||||
"defaultVersion": "1.0.1",
|
||||
"enabled": true,
|
||||
"latestVersion": "1.0.1",
|
||||
"versions": Array [
|
||||
"1.0.1",
|
||||
"1.0.0",
|
||||
],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadEnv website with versioning enabled 1`] = `
|
||||
Object {
|
||||
"translation": Object {
|
||||
"defaultLanguage": Object {},
|
||||
"enabled": false,
|
||||
"enabledLanguages": Array [],
|
||||
},
|
||||
"versioning": Object {
|
||||
"defaultVersion": "1.0.1",
|
||||
"enabled": true,
|
||||
"latestVersion": "1.0.1",
|
||||
"versions": Array [
|
||||
"1.0.1",
|
||||
"1.0.0",
|
||||
],
|
||||
},
|
||||
}
|
||||
`;
|
46
v2/test/load/config.test.js
Normal file
46
v2/test/load/config.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
import path from 'path';
|
||||
import loadConfig from '@lib/load/config';
|
||||
|
||||
describe('loadConfig', () => {
|
||||
test('website with valid siteConfig', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'simple-site');
|
||||
const config = loadConfig(siteDir);
|
||||
expect(config).toEqual({
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
customDocsPath: 'docs',
|
||||
docsUrl: 'docs',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello'
|
||||
});
|
||||
expect(config).not.toEqual({});
|
||||
});
|
||||
|
||||
test('website with incomplete siteConfig', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'bad-site');
|
||||
expect(() => {
|
||||
loadConfig(siteDir);
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"tagline, organizationName, projectName fields are missing in siteConfig.js"`
|
||||
);
|
||||
});
|
||||
|
||||
test('website with useless field (wrong field) in siteConfig', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'wrong-site');
|
||||
expect(() => {
|
||||
loadConfig(siteDir);
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"useLessField fields are useless in siteConfig.js"`
|
||||
);
|
||||
});
|
||||
|
||||
test('website with no siteConfig', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'nonExisting');
|
||||
expect(() => {
|
||||
loadConfig(siteDir);
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"title, tagline, organizationName, projectName, baseUrl fields are missing in siteConfig.js"`
|
||||
);
|
||||
});
|
||||
});
|
597
v2/test/load/docs/__snapshots__/index.test.js.snap
Normal file
597
v2/test/load/docs/__snapshots__/index.test.js.snap
Normal file
|
@ -0,0 +1,597 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`loadDocs simple website 1`] = `
|
||||
Object {
|
||||
"foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "foo/bar",
|
||||
"language": undefined,
|
||||
"localized_id": "foo/bar",
|
||||
"next": "foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": undefined,
|
||||
},
|
||||
"foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "foo/baz",
|
||||
"language": undefined,
|
||||
"localized_id": "foo/baz",
|
||||
"next": "hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/foo/baz",
|
||||
"previous": "foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": undefined,
|
||||
},
|
||||
"hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "hello",
|
||||
"language": undefined,
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/hello",
|
||||
"previous": "foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": undefined,
|
||||
},
|
||||
"permalink": Object {
|
||||
"id": "permalink",
|
||||
"language": undefined,
|
||||
"localized_id": "permalink",
|
||||
"permalink": "/docs/endiliey/permalink",
|
||||
"source": "@docs/permalink.md",
|
||||
"title": "Permalink",
|
||||
"version": undefined,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadDocs translated website 1`] = `
|
||||
Object {
|
||||
"en-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "en-foo/bar",
|
||||
"language": "en",
|
||||
"localized_id": "foo/bar",
|
||||
"next": "en-foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/en/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": undefined,
|
||||
},
|
||||
"en-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "en-foo/baz",
|
||||
"language": "en",
|
||||
"localized_id": "foo/baz",
|
||||
"next": "en-hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/en/foo/baz",
|
||||
"previous": "en-foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": undefined,
|
||||
},
|
||||
"en-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "en-hello",
|
||||
"language": "en",
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/en/hello",
|
||||
"previous": "en-foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": undefined,
|
||||
},
|
||||
"en-permalink": Object {
|
||||
"id": "en-permalink",
|
||||
"language": "en",
|
||||
"localized_id": "permalink",
|
||||
"permalink": "/docs/en/endiliey/permalink",
|
||||
"source": "@docs/permalink.md",
|
||||
"title": "Permalink",
|
||||
"version": undefined,
|
||||
},
|
||||
"ko-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-foo/bar",
|
||||
"language": "ko",
|
||||
"localized_id": "foo/bar",
|
||||
"next": "ko-foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/ko/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": undefined,
|
||||
},
|
||||
"ko-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-foo/baz",
|
||||
"language": "ko",
|
||||
"localized_id": "foo/baz",
|
||||
"next": "ko-hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/ko/foo/baz",
|
||||
"previous": "ko-foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": undefined,
|
||||
},
|
||||
"ko-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "ko-hello",
|
||||
"language": "ko",
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/ko/hello",
|
||||
"previous": "ko-foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": undefined,
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadDocs versioned & translated website 1`] = `
|
||||
Object {
|
||||
"en-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "en-foo/bar",
|
||||
"language": "en",
|
||||
"localized_id": "foo/bar",
|
||||
"next": "en-foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/en/next/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "next",
|
||||
},
|
||||
"en-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "en-foo/baz",
|
||||
"language": "en",
|
||||
"localized_id": "foo/baz",
|
||||
"next": "en-hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/en/next/foo/baz",
|
||||
"previous": "en-foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": "next",
|
||||
},
|
||||
"en-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "en-hello",
|
||||
"language": "en",
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/en/next/hello",
|
||||
"previous": "en-foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "next",
|
||||
},
|
||||
"en-permalink": Object {
|
||||
"id": "en-permalink",
|
||||
"language": "en",
|
||||
"localized_id": "permalink",
|
||||
"permalink": "/docs/en/next/endiliey/permalink",
|
||||
"source": "@docs/permalink.md",
|
||||
"title": "Permalink",
|
||||
"version": "next",
|
||||
},
|
||||
"en-version-1.0.0-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "en-version-1.0.0-foo/bar",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.0-foo/bar",
|
||||
"next": "en-version-1.0.0-foo/baz",
|
||||
"next_id": "version-1.0.0-foo/baz",
|
||||
"next_title": "Baz",
|
||||
"permalink": "/docs/en/1.0.0/foo/bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"en-version-1.0.0-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "en-version-1.0.0-foo/baz",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.0-foo/baz",
|
||||
"next": "en-version-1.0.0-hello",
|
||||
"next_id": "version-1.0.0-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/en/1.0.0/foo/baz",
|
||||
"previous": "en-version-1.0.0-foo/bar",
|
||||
"previous_id": "version-1.0.0-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/foo/baz.md",
|
||||
"title": "Baz",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"en-version-1.0.0-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "en-version-1.0.0-hello",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.0-hello",
|
||||
"permalink": "/docs/en/1.0.0/hello",
|
||||
"previous": "en-version-1.0.0-foo/baz",
|
||||
"previous_id": "version-1.0.0-foo/baz",
|
||||
"previous_title": "Baz",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"en-version-1.0.1-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "en-version-1.0.1-foo/bar",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.1-foo/bar",
|
||||
"next": "en-version-1.0.1-foo/baz",
|
||||
"next_id": "version-1.0.1-foo/baz",
|
||||
"next_title": "Baz",
|
||||
"permalink": "/docs/en/foo/bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"en-version-1.0.1-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "en-version-1.0.1-foo/baz",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.1-foo/baz",
|
||||
"next": "en-version-1.0.1-hello",
|
||||
"next_id": "version-1.0.1-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/en/foo/baz",
|
||||
"previous": "en-version-1.0.1-foo/bar",
|
||||
"previous_id": "version-1.0.1-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/foo/baz.md",
|
||||
"title": "Baz",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"en-version-1.0.1-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "en-version-1.0.1-hello",
|
||||
"language": "en",
|
||||
"localized_id": "version-1.0.1-hello",
|
||||
"permalink": "/docs/en/hello",
|
||||
"previous": "en-version-1.0.1-foo/baz",
|
||||
"previous_id": "version-1.0.1-foo/baz",
|
||||
"previous_title": "Baz",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"ko-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-foo/bar",
|
||||
"language": "ko",
|
||||
"localized_id": "foo/bar",
|
||||
"next": "ko-foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/ko/next/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "next",
|
||||
},
|
||||
"ko-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-foo/baz",
|
||||
"language": "ko",
|
||||
"localized_id": "foo/baz",
|
||||
"next": "ko-hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/ko/next/foo/baz",
|
||||
"previous": "ko-foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": "next",
|
||||
},
|
||||
"ko-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "ko-hello",
|
||||
"language": "ko",
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/ko/next/hello",
|
||||
"previous": "ko-foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@translated_docs/ko/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "next",
|
||||
},
|
||||
"ko-version-1.0.0-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-version-1.0.0-foo/bar",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.0-foo/bar",
|
||||
"next": "ko-version-1.0.0-foo/baz",
|
||||
"next_id": "version-1.0.0-foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/ko/1.0.0/foo/bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.0/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"ko-version-1.0.0-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-version-1.0.0-foo/baz",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.0-foo/baz",
|
||||
"next": "ko-version-1.0.0-hello",
|
||||
"next_id": "version-1.0.0-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/ko/1.0.0/foo/baz",
|
||||
"previous": "ko-version-1.0.0-foo/bar",
|
||||
"previous_id": "version-1.0.0-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.0/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"ko-version-1.0.0-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "ko-version-1.0.0-hello",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.0-hello",
|
||||
"permalink": "/docs/ko/1.0.0/hello",
|
||||
"previous": "ko-version-1.0.0-foo/baz",
|
||||
"previous_id": "version-1.0.0-foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.0/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"ko-version-1.0.1-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-version-1.0.1-foo/bar",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.1-foo/bar",
|
||||
"next": "ko-version-1.0.1-foo/baz",
|
||||
"next_id": "version-1.0.1-foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/ko/foo/bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.1/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"ko-version-1.0.1-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "ko-version-1.0.1-foo/baz",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.1-foo/baz",
|
||||
"next": "ko-version-1.0.1-hello",
|
||||
"next_id": "version-1.0.1-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/ko/foo/baz",
|
||||
"previous": "ko-version-1.0.1-foo/bar",
|
||||
"previous_id": "version-1.0.1-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.1/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"ko-version-1.0.1-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "ko-version-1.0.1-hello",
|
||||
"language": "ko",
|
||||
"localized_id": "version-1.0.1-hello",
|
||||
"permalink": "/docs/ko/hello",
|
||||
"previous": "ko-version-1.0.1-foo/baz",
|
||||
"previous_id": "version-1.0.1-foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@translated_docs/ko/version-1.0.1/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadDocs versioned website 1`] = `
|
||||
Object {
|
||||
"foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "foo/bar",
|
||||
"language": undefined,
|
||||
"localized_id": "foo/bar",
|
||||
"next": "foo/baz",
|
||||
"next_id": "foo/baz",
|
||||
"next_title": "baz",
|
||||
"permalink": "/docs/next/foo/bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "next",
|
||||
},
|
||||
"foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "foo/baz",
|
||||
"language": undefined,
|
||||
"localized_id": "foo/baz",
|
||||
"next": "hello",
|
||||
"next_id": "hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/next/foo/baz",
|
||||
"previous": "foo/bar",
|
||||
"previous_id": "foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/foo/baz.md",
|
||||
"title": "baz",
|
||||
"version": "next",
|
||||
},
|
||||
"hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "hello",
|
||||
"language": undefined,
|
||||
"localized_id": "hello",
|
||||
"permalink": "/docs/next/hello",
|
||||
"previous": "foo/baz",
|
||||
"previous_id": "foo/baz",
|
||||
"previous_title": "baz",
|
||||
"sidebar": "docs",
|
||||
"source": "@docs/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "next",
|
||||
},
|
||||
"permalink": Object {
|
||||
"id": "permalink",
|
||||
"language": undefined,
|
||||
"localized_id": "permalink",
|
||||
"permalink": "/docs/next/endiliey/permalink",
|
||||
"source": "@docs/permalink.md",
|
||||
"title": "Permalink",
|
||||
"version": "next",
|
||||
},
|
||||
"version-1.0.0-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "version-1.0.0-foo/bar",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.0-foo/bar",
|
||||
"next": "version-1.0.0-foo/baz",
|
||||
"next_id": "version-1.0.0-foo/baz",
|
||||
"next_title": "Baz",
|
||||
"permalink": "/docs/1.0.0/foo/bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"version-1.0.0-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "version-1.0.0-foo/baz",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.0-foo/baz",
|
||||
"next": "version-1.0.0-hello",
|
||||
"next_id": "version-1.0.0-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/1.0.0/foo/baz",
|
||||
"previous": "version-1.0.0-foo/bar",
|
||||
"previous_id": "version-1.0.0-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/foo/baz.md",
|
||||
"title": "Baz",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"version-1.0.0-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "version-1.0.0-hello",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.0-hello",
|
||||
"permalink": "/docs/1.0.0/hello",
|
||||
"previous": "version-1.0.0-foo/baz",
|
||||
"previous_id": "version-1.0.0-foo/baz",
|
||||
"previous_title": "Baz",
|
||||
"sidebar": "version-1.0.0-docs",
|
||||
"source": "@versioned_docs/version-1.0.0/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.0",
|
||||
},
|
||||
"version-1.0.1-foo/bar": Object {
|
||||
"category": "Test",
|
||||
"id": "version-1.0.1-foo/bar",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.1-foo/bar",
|
||||
"next": "version-1.0.1-foo/baz",
|
||||
"next_id": "version-1.0.1-foo/baz",
|
||||
"next_title": "Baz",
|
||||
"permalink": "/docs/foo/bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/foo/bar.md",
|
||||
"title": "Bar",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"version-1.0.1-foo/baz": Object {
|
||||
"category": "Test",
|
||||
"id": "version-1.0.1-foo/baz",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.1-foo/baz",
|
||||
"next": "version-1.0.1-hello",
|
||||
"next_id": "version-1.0.1-hello",
|
||||
"next_title": "Hello, World !",
|
||||
"permalink": "/docs/foo/baz",
|
||||
"previous": "version-1.0.1-foo/bar",
|
||||
"previous_id": "version-1.0.1-foo/bar",
|
||||
"previous_title": "Bar",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/foo/baz.md",
|
||||
"title": "Baz",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
"version-1.0.1-hello": Object {
|
||||
"category": "Guides",
|
||||
"id": "version-1.0.1-hello",
|
||||
"language": undefined,
|
||||
"localized_id": "version-1.0.1-hello",
|
||||
"permalink": "/docs/hello",
|
||||
"previous": "version-1.0.1-foo/baz",
|
||||
"previous_id": "version-1.0.1-foo/baz",
|
||||
"previous_title": "Baz",
|
||||
"sidebar": "version-1.0.1-docs",
|
||||
"source": "@versioned_docs/version-1.0.1/hello.md",
|
||||
"title": "Hello, World !",
|
||||
"version": "1.0.1",
|
||||
},
|
||||
}
|
||||
`;
|
45
v2/test/load/docs/__snapshots__/sidebars.test.js.snap
Normal file
45
v2/test/load/docs/__snapshots__/sidebars.test.js.snap
Normal file
|
@ -0,0 +1,45 @@
|
|||
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
||||
|
||||
exports[`loadSidebars normal site with sidebars 1`] = `
|
||||
Object {
|
||||
"docs": Object {
|
||||
"Getting Started": Array [
|
||||
"installation",
|
||||
],
|
||||
"Guides": Array [
|
||||
"blog",
|
||||
],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadSidebars site with sidebars & versioned sidebars 1`] = `
|
||||
Object {
|
||||
"docs": Object {
|
||||
"Getting Started": Array [
|
||||
"installation",
|
||||
],
|
||||
"Guides": Array [
|
||||
"blog",
|
||||
],
|
||||
},
|
||||
"version-1.0.0-docs": Object {
|
||||
"Getting Started": Array [
|
||||
"version-1.0.0-installation",
|
||||
],
|
||||
"Guides": Array [
|
||||
"version-1.0.0-blog",
|
||||
],
|
||||
},
|
||||
"version-1.0.1-docs": Object {
|
||||
"Getting Started": Array [
|
||||
"version-1.0.1-installation",
|
||||
],
|
||||
"Guides": Array [
|
||||
"version-1.0.1-blog",
|
||||
],
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`loadSidebars site without sidebars 1`] = `Object {}`;
|
32
v2/test/load/docs/index.test.js
Normal file
32
v2/test/load/docs/index.test.js
Normal file
|
@ -0,0 +1,32 @@
|
|||
import loadDocs from '@lib/load/docs';
|
||||
import loadSetup from '../../loadSetup';
|
||||
|
||||
describe('loadDocs', () => {
|
||||
test('simple website', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const {docsMetadatas} = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadatas).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('versioned website', async () => {
|
||||
const props = await loadSetup('versioned');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const {docsMetadatas} = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadatas).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('versioned & translated website', async () => {
|
||||
const props = await loadSetup('transversioned');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const {docsMetadatas} = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadatas).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('translated website', async () => {
|
||||
const props = await loadSetup('translated');
|
||||
const {siteDir, docsDir, env, siteConfig} = props;
|
||||
const {docsMetadatas} = await loadDocs({siteDir, docsDir, env, siteConfig});
|
||||
expect(docsMetadatas).toMatchSnapshot();
|
||||
});
|
||||
});
|
154
v2/test/load/docs/metadata.test.js
Normal file
154
v2/test/load/docs/metadata.test.js
Normal file
|
@ -0,0 +1,154 @@
|
|||
import path from 'path';
|
||||
import processMetadata from '@lib/load/docs/metadata';
|
||||
import loadSetup from '../../loadSetup';
|
||||
|
||||
describe('processMetadata', () => {
|
||||
test('normal docs', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {docsDir, env, siteConfig} = props;
|
||||
const sourceA = path.join('foo', 'bar.md');
|
||||
const sourceB = path.join('hello.md');
|
||||
const dataA = await processMetadata(sourceA, docsDir, env, {}, siteConfig);
|
||||
const dataB = await processMetadata(sourceB, docsDir, env, {}, siteConfig);
|
||||
expect(dataA).toEqual({
|
||||
id: 'foo/bar',
|
||||
language: undefined,
|
||||
localized_id: 'foo/bar',
|
||||
permalink: '/docs/foo/bar',
|
||||
source: '@docs/foo/bar.md',
|
||||
title: 'Bar',
|
||||
version: undefined
|
||||
});
|
||||
expect(dataB).toEqual({
|
||||
id: 'hello',
|
||||
language: undefined,
|
||||
localized_id: 'hello',
|
||||
permalink: '/docs/hello',
|
||||
source: '@docs/hello.md',
|
||||
title: 'Hello, World !',
|
||||
version: undefined
|
||||
});
|
||||
});
|
||||
|
||||
test('docs with custom permalink', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
const {docsDir, env, siteConfig} = props;
|
||||
const source = path.join('permalink.md');
|
||||
const data = await processMetadata(source, docsDir, env, {}, siteConfig);
|
||||
expect(data).toEqual({
|
||||
id: 'permalink',
|
||||
language: undefined,
|
||||
localized_id: 'permalink',
|
||||
permalink: '/docs/endiliey/permalink',
|
||||
source: '@docs/permalink.md',
|
||||
title: 'Permalink',
|
||||
version: undefined
|
||||
});
|
||||
});
|
||||
|
||||
test('versioned docs (without translation)', async () => {
|
||||
const props = await loadSetup('versioned');
|
||||
const {siteDir, env, siteConfig} = props;
|
||||
const refDir = path.join(siteDir, 'versioned_docs');
|
||||
const sourceA = path.join('version-1.0.0', 'foo', 'bar.md');
|
||||
const sourceB = path.join('version-1.0.0', 'hello.md');
|
||||
const dataA = await processMetadata(sourceA, refDir, env, {}, siteConfig);
|
||||
const dataB = await processMetadata(sourceB, refDir, env, {}, siteConfig);
|
||||
expect(dataA).toEqual({
|
||||
id: 'version-1.0.0-foo/bar',
|
||||
language: undefined,
|
||||
localized_id: 'version-1.0.0-foo/bar',
|
||||
permalink: '/docs/1.0.0/foo/bar',
|
||||
source: '@versioned_docs/version-1.0.0/foo/bar.md',
|
||||
title: 'Bar',
|
||||
version: '1.0.0'
|
||||
});
|
||||
expect(dataB).toEqual({
|
||||
id: 'version-1.0.0-hello',
|
||||
language: undefined,
|
||||
localized_id: 'version-1.0.0-hello',
|
||||
permalink: '/docs/1.0.0/hello',
|
||||
source: '@versioned_docs/version-1.0.0/hello.md',
|
||||
title: 'Hello, World !',
|
||||
version: '1.0.0'
|
||||
});
|
||||
});
|
||||
|
||||
test('translated versioned docs', async () => {
|
||||
const props = await loadSetup('transversioned');
|
||||
const {siteDir, env, siteConfig} = props;
|
||||
const refDir = path.join(siteDir, 'translated_docs');
|
||||
const sourceA = path.join('ko', 'version-1.0.0', 'foo', 'bar.md');
|
||||
const sourceB = path.join('ko', 'version-1.0.0', 'hello.md');
|
||||
const sourceC = path.join('ko', 'version-1.0.1', 'foo', 'bar.md');
|
||||
const sourceD = path.join('ko', 'version-1.0.1', 'hello.md');
|
||||
const dataA = await processMetadata(sourceA, refDir, env, {}, siteConfig);
|
||||
const dataB = await processMetadata(sourceB, refDir, env, {}, siteConfig);
|
||||
const dataC = await processMetadata(sourceC, refDir, env, {}, siteConfig);
|
||||
const dataD = await processMetadata(sourceD, refDir, env, {}, siteConfig);
|
||||
expect(dataA).toEqual({
|
||||
id: 'ko-version-1.0.0-foo/bar',
|
||||
language: 'ko',
|
||||
localized_id: 'version-1.0.0-foo/bar',
|
||||
permalink: '/docs/ko/1.0.0/foo/bar',
|
||||
source: '@translated_docs/ko/version-1.0.0/foo/bar.md',
|
||||
title: 'Bar',
|
||||
version: '1.0.0'
|
||||
});
|
||||
expect(dataB).toEqual({
|
||||
id: 'ko-version-1.0.0-hello',
|
||||
language: 'ko',
|
||||
localized_id: 'version-1.0.0-hello',
|
||||
permalink: '/docs/ko/1.0.0/hello',
|
||||
source: '@translated_docs/ko/version-1.0.0/hello.md',
|
||||
title: 'Hello, World !',
|
||||
version: '1.0.0'
|
||||
});
|
||||
expect(dataC).toEqual({
|
||||
id: 'ko-version-1.0.1-foo/bar',
|
||||
language: 'ko',
|
||||
localized_id: 'version-1.0.1-foo/bar',
|
||||
permalink: '/docs/ko/foo/bar',
|
||||
source: '@translated_docs/ko/version-1.0.1/foo/bar.md',
|
||||
title: 'Bar',
|
||||
version: '1.0.1'
|
||||
});
|
||||
expect(dataD).toEqual({
|
||||
id: 'ko-version-1.0.1-hello',
|
||||
language: 'ko',
|
||||
localized_id: 'version-1.0.1-hello',
|
||||
permalink: '/docs/ko/hello',
|
||||
source: '@translated_docs/ko/version-1.0.1/hello.md',
|
||||
title: 'Hello, World !',
|
||||
version: '1.0.1'
|
||||
});
|
||||
});
|
||||
|
||||
test('translated docs only', async () => {
|
||||
const props = await loadSetup('translated');
|
||||
const {siteDir, env, siteConfig} = props;
|
||||
const refDir = path.join(siteDir, 'translated_docs');
|
||||
const sourceA = path.join('ko', 'foo', 'bar.md');
|
||||
const sourceB = path.join('ko', 'hello.md');
|
||||
const dataA = await processMetadata(sourceA, refDir, env, {}, siteConfig);
|
||||
const dataB = await processMetadata(sourceB, refDir, env, {}, siteConfig);
|
||||
expect(dataA).toEqual({
|
||||
id: 'ko-foo/bar',
|
||||
language: 'ko',
|
||||
localized_id: 'foo/bar',
|
||||
permalink: '/docs/ko/foo/bar',
|
||||
source: '@translated_docs/ko/foo/bar.md',
|
||||
title: 'Bar',
|
||||
version: undefined
|
||||
});
|
||||
expect(dataB).toEqual({
|
||||
id: 'ko-hello',
|
||||
language: 'ko',
|
||||
localized_id: 'hello',
|
||||
permalink: '/docs/ko/hello',
|
||||
source: '@translated_docs/ko/hello.md',
|
||||
title: 'Hello, World !',
|
||||
version: undefined
|
||||
});
|
||||
});
|
||||
});
|
85
v2/test/load/docs/order.test.js
Normal file
85
v2/test/load/docs/order.test.js
Normal file
|
@ -0,0 +1,85 @@
|
|||
import createOrder from '@lib/load/docs/order';
|
||||
|
||||
describe('createOrder', () => {
|
||||
test('should populate docs index from multiple sidebars', () => {
|
||||
const result = createOrder({
|
||||
docs: {
|
||||
Category1: ['doc1', 'doc2'],
|
||||
Category2: ['doc3', 'doc4']
|
||||
},
|
||||
otherDocs: {
|
||||
Category1: ['doc5']
|
||||
}
|
||||
});
|
||||
expect(result).toEqual({
|
||||
doc1: {
|
||||
category: 'Category1',
|
||||
next: 'doc2',
|
||||
previous: undefined,
|
||||
sidebar: 'docs'
|
||||
},
|
||||
doc2: {
|
||||
category: 'Category1',
|
||||
next: 'doc3',
|
||||
previous: 'doc1',
|
||||
sidebar: 'docs'
|
||||
},
|
||||
doc3: {
|
||||
category: 'Category2',
|
||||
next: 'doc4',
|
||||
previous: 'doc2',
|
||||
sidebar: 'docs'
|
||||
},
|
||||
doc4: {
|
||||
category: 'Category2',
|
||||
next: undefined,
|
||||
previous: 'doc3',
|
||||
sidebar: 'docs'
|
||||
},
|
||||
doc5: {
|
||||
category: 'Category1',
|
||||
next: undefined,
|
||||
previous: undefined,
|
||||
sidebar: 'otherDocs'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test('should resolve docs from older versions', () => {
|
||||
const result = createOrder({
|
||||
docs: {
|
||||
Category1: ['doc1']
|
||||
},
|
||||
'version-1.2.3-docs': {
|
||||
Category1: ['version-1.2.3-doc2'],
|
||||
Category2: ['version-1.2.3-doc1']
|
||||
}
|
||||
});
|
||||
expect(result).toEqual({
|
||||
doc1: {
|
||||
category: 'Category1',
|
||||
next: undefined,
|
||||
previous: undefined,
|
||||
sidebar: 'docs'
|
||||
},
|
||||
'version-1.2.3-doc1': {
|
||||
category: 'Category2',
|
||||
next: undefined,
|
||||
previous: 'version-1.2.3-doc2',
|
||||
sidebar: 'version-1.2.3-docs'
|
||||
},
|
||||
'version-1.2.3-doc2': {
|
||||
category: 'Category1',
|
||||
next: 'version-1.2.3-doc1',
|
||||
previous: undefined,
|
||||
sidebar: 'version-1.2.3-docs'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
test('edge cases', () => {
|
||||
expect(createOrder({})).toEqual({});
|
||||
expect(createOrder(null)).toEqual({});
|
||||
expect(createOrder(undefined)).toEqual({});
|
||||
});
|
||||
});
|
46
v2/test/load/docs/sidebars.test.js
Normal file
46
v2/test/load/docs/sidebars.test.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
import path from 'path';
|
||||
import loadSidebars from '@lib/load/docs/sidebars';
|
||||
|
||||
describe('loadSidebars', () => {
|
||||
const fixtures = path.join(__dirname, '..', '__fixtures__');
|
||||
test('normal site with sidebars', () => {
|
||||
const env = {};
|
||||
const siteDir = path.join(fixtures, 'simple-site');
|
||||
const result = loadSidebars({siteDir, env});
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('site without sidebars', () => {
|
||||
const env = {};
|
||||
const siteDir = path.join(fixtures, 'bad-site');
|
||||
const result = loadSidebars({siteDir, env});
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('site with sidebars & versioned sidebars', () => {
|
||||
const env = {
|
||||
versioning: {
|
||||
enabled: true,
|
||||
versions: ['1.0.1', '1.0.0']
|
||||
}
|
||||
};
|
||||
const siteDir = path.join(fixtures, 'versioned-site');
|
||||
const result = loadSidebars({siteDir, env});
|
||||
expect(result).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('site with missing versioned sidebars', () => {
|
||||
const env = {
|
||||
versioning: {
|
||||
enabled: true,
|
||||
versions: ['2.0.0']
|
||||
}
|
||||
};
|
||||
const siteDir = path.join(fixtures, 'versioned-site');
|
||||
expect(() => {
|
||||
loadSidebars({siteDir, env});
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Failed to load versioned_sidebars/version-2.0.0-sidebars.json. It does not exist."`
|
||||
);
|
||||
});
|
||||
});
|
98
v2/test/load/env.test.js
Normal file
98
v2/test/load/env.test.js
Normal file
|
@ -0,0 +1,98 @@
|
|||
import path from 'path';
|
||||
import loadEnv from '@lib/load/env';
|
||||
|
||||
describe('loadEnv', () => {
|
||||
test('website with both versioning & translation disabled', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'simple-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello'
|
||||
};
|
||||
const env = loadEnv({siteDir, siteConfig});
|
||||
expect(env.versioning.enabled).toBe(false);
|
||||
expect(env.translation.enabled).toBe(false);
|
||||
expect(env).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('website with versioning enabled', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'versioned-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello'
|
||||
};
|
||||
const env = loadEnv({siteDir, siteConfig});
|
||||
expect(env.versioning.enabled).toBe(true);
|
||||
expect(env.translation.enabled).toBe(false);
|
||||
expect(env).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('website with translation enabled', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'translated-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello',
|
||||
defaultLanguage: 'en'
|
||||
};
|
||||
const env = loadEnv({siteDir, siteConfig});
|
||||
expect(env.versioning.enabled).toBe(false);
|
||||
expect(env.translation.enabled).toBe(true);
|
||||
expect(env).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('website with versioning & translation enabled', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'transversioned-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello',
|
||||
defaultLanguage: 'en'
|
||||
};
|
||||
const env = loadEnv({siteDir, siteConfig});
|
||||
expect(env.versioning.enabled).toBe(true);
|
||||
expect(env.translation.enabled).toBe(true);
|
||||
expect(env).toMatchSnapshot();
|
||||
});
|
||||
|
||||
test('website with languages.js but no lang is enabled', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'bad-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello'
|
||||
};
|
||||
expect(() => {
|
||||
loadEnv({siteDir, siteConfig});
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Please at least enable one language in 'languages.js'"`
|
||||
);
|
||||
});
|
||||
|
||||
test('website with languages.js but no default language set', () => {
|
||||
const siteDir = path.join(__dirname, '__fixtures__', 'translated-site');
|
||||
const siteConfig = {
|
||||
baseUrl: '/',
|
||||
organizationName: 'endiliey',
|
||||
projectName: 'hello',
|
||||
tagline: 'Hello World',
|
||||
title: 'Hello'
|
||||
};
|
||||
expect(() => {
|
||||
loadEnv({siteDir, siteConfig});
|
||||
}).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Please set a default language in 'siteConfig.js' which is enabled in 'languages.js'"`
|
||||
);
|
||||
});
|
||||
});
|
35
v2/test/load/pages.test.js
Normal file
35
v2/test/load/pages.test.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
import loadPages from '@lib/load/pages';
|
||||
import path from 'path';
|
||||
|
||||
describe('loadPages', () => {
|
||||
test('valid pages', async () => {
|
||||
const pagesDir = path.join(__dirname, '__fixtures__', 'simple-pages');
|
||||
const pagesMetadatas = await loadPages(pagesDir);
|
||||
pagesMetadatas.sort((a, b) => a.path > b.path); // because it was unordered
|
||||
expect(pagesMetadatas).toEqual([
|
||||
{
|
||||
path: '/',
|
||||
source: 'index.js'
|
||||
},
|
||||
{
|
||||
path: '/bar/baz',
|
||||
source: 'bar/baz.js'
|
||||
},
|
||||
{
|
||||
path: '/foo',
|
||||
source: 'foo.js'
|
||||
},
|
||||
{
|
||||
path: '/foo/',
|
||||
source: 'foo/index.js'
|
||||
}
|
||||
]);
|
||||
expect(pagesMetadatas).not.toBeNull();
|
||||
});
|
||||
|
||||
test('invalid pages', async () => {
|
||||
const nonExistingDir = path.join(__dirname, '__fixtures__', 'nonExisting');
|
||||
const pagesMetadatas = await loadPages(nonExistingDir);
|
||||
expect(pagesMetadatas).toEqual([]);
|
||||
});
|
||||
});
|
24
v2/test/load/routes.test.js
Normal file
24
v2/test/load/routes.test.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
import genRoutesConfig from '@lib/load/routes';
|
||||
import loadSetup from '../loadSetup';
|
||||
|
||||
describe('genRoutesConfig', () => {
|
||||
test('simple website', async () => {
|
||||
const props = await loadSetup('simple');
|
||||
await genRoutesConfig(props);
|
||||
});
|
||||
|
||||
test('versioned website', async () => {
|
||||
const props = await loadSetup('versioned');
|
||||
await genRoutesConfig(props);
|
||||
});
|
||||
|
||||
test('versioned & translated website', async () => {
|
||||
const props = await loadSetup('transversioned');
|
||||
await genRoutesConfig(props);
|
||||
});
|
||||
|
||||
test('translated website', async () => {
|
||||
const props = await loadSetup('translated');
|
||||
await genRoutesConfig(props);
|
||||
});
|
||||
});
|
100
v2/test/load/utils.test.js
Normal file
100
v2/test/load/utils.test.js
Normal file
|
@ -0,0 +1,100 @@
|
|||
import path from 'path';
|
||||
import {
|
||||
fileToPath,
|
||||
fileToComponentName,
|
||||
idx,
|
||||
getSubFolder
|
||||
} from '@lib/load/utils';
|
||||
|
||||
describe('load utils', () => {
|
||||
test('fileToComponentName', () => {
|
||||
const asserts = {
|
||||
'index.md': 'MDIndex',
|
||||
'hello/index.md': 'MDHelloIndex',
|
||||
'foo.md': 'MDFoo',
|
||||
'foo-bar.md': 'MDFooBar',
|
||||
'index.js': 'JSIndex',
|
||||
'foobar.js': 'JSFoobar',
|
||||
'docusaurus/index.js': 'JSDocusaurusIndex',
|
||||
'234.md': 'MD234',
|
||||
'2018-07-08-test.md': 'MD20180708Test',
|
||||
'%asd.md': 'MDAsd'
|
||||
};
|
||||
Object.keys(asserts).forEach(file => {
|
||||
expect(fileToComponentName(file)).toBe(asserts[file]);
|
||||
});
|
||||
});
|
||||
|
||||
test('fileToPath', () => {
|
||||
const asserts = {
|
||||
'index.md': '/',
|
||||
'hello/index.md': '/hello/',
|
||||
'foo.md': '/foo',
|
||||
'foo/bar.md': '/foo/bar',
|
||||
'index.js': '/',
|
||||
'hello/index.js': '/hello/',
|
||||
'foo.js': '/foo',
|
||||
'foo/bar.js': '/foo/bar'
|
||||
};
|
||||
Object.keys(asserts).forEach(file => {
|
||||
expect(fileToPath(file)).toBe(asserts[file]);
|
||||
});
|
||||
});
|
||||
|
||||
test('idx', () => {
|
||||
const a = {};
|
||||
const b = {hello: 'world'};
|
||||
const env = {
|
||||
translation: {
|
||||
enabled: true,
|
||||
enabledLanguages: [
|
||||
{
|
||||
enabled: true,
|
||||
name: 'English',
|
||||
tag: 'en'
|
||||
},
|
||||
{
|
||||
enabled: true,
|
||||
name: '日本語',
|
||||
tag: 'ja'
|
||||
}
|
||||
]
|
||||
},
|
||||
versioning: {
|
||||
enabled: false,
|
||||
versions: []
|
||||
}
|
||||
};
|
||||
const test = {arr: [1, 2, 3]};
|
||||
const variable = 'enabledLanguages';
|
||||
expect(idx(a, [('b', 'c')])).toBeUndefined();
|
||||
expect(idx(b, ['hello'])).toEqual('world');
|
||||
expect(idx(b, 'hello')).toEqual('world');
|
||||
expect(idx(env, 'typo')).toBeUndefined();
|
||||
expect(idx(env, 'versioning')).toEqual({
|
||||
enabled: false,
|
||||
versions: []
|
||||
});
|
||||
expect(idx(env, ['translation', 'enabled'])).toEqual(true);
|
||||
expect(idx(env, ['translation', variable]).map(lang => lang.tag)).toEqual([
|
||||
'en',
|
||||
'ja'
|
||||
]);
|
||||
expect(idx(test, ['arr', 0])).toEqual(1);
|
||||
expect(idx(undefined)).toBeUndefined();
|
||||
expect(idx(null)).toBeNull();
|
||||
});
|
||||
|
||||
test('getSubFolder', () => {
|
||||
const testA = path.join('folder', 'en', 'test.md');
|
||||
const testB = path.join('folder', 'ja', 'test.md');
|
||||
const testC = path.join('folder', 'ja', 'en', 'test.md');
|
||||
const testD = path.join('docs', 'ro', 'test.md');
|
||||
const testE = path.join('docs', 'test.md');
|
||||
expect(getSubFolder(testA, 'folder')).toBe('en');
|
||||
expect(getSubFolder(testB, 'folder')).toBe('ja');
|
||||
expect(getSubFolder(testC, 'folder')).toBe('ja');
|
||||
expect(getSubFolder(testD, 'docs')).toBe('ro');
|
||||
expect(getSubFolder(testE, 'docs')).toBeNull();
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue