mirror of
https://github.com/facebook/docusaurus.git
synced 2025-08-06 02:08:55 +02:00
fix(content-docs): improve sidebar shorthand normalization error message (#6745)
This commit is contained in:
parent
9562a5d203
commit
2d93750caf
4 changed files with 74 additions and 25 deletions
|
@ -58,7 +58,7 @@ describe('loadSidebars', () => {
|
|||
await expect(() =>
|
||||
loadSidebars(sidebarPath, params),
|
||||
).rejects.toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid category {\\"type\\":\\"category\\",\\"label\\":\\"Category Label\\",\\"items\\":\\"doc1\\"}: items must be an array of sidebar items or a category shorthand"`,
|
||||
`"Invalid sidebar items collection [36m\`\\"doc1\\"\`[39m in [36m\`items\`[39m of the category [34m[1mCategory Label[22m[39m: it must either be an array of sidebar items or a shorthand notation (which doesn't contain a [36m\`type\`[39m property). See [36m[4mhttps://docusaurus.io/docs/sidebar/items[24m[39m for all valid syntaxes."`,
|
||||
);
|
||||
});
|
||||
|
||||
|
|
|
@ -37,4 +37,53 @@ describe('normalization', () => {
|
|||
}),
|
||||
).toMatchSnapshot();
|
||||
});
|
||||
test('rejects some invalid cases', () => {
|
||||
expect(() =>
|
||||
normalizeSidebars({
|
||||
sidebar: {
|
||||
Category: {type: 'autogenerated', dirName: 'foo'},
|
||||
Category2: {type: 'autogenerated', dirName: 'bar'},
|
||||
},
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid sidebar items collection [36m\`{\\"type\\":\\"autogenerated\\",\\"dirName\\":\\"foo\\"}\`[39m in [36m\`items\`[39m of the category [34m[1mCategory[22m[39m: it must either be an array of sidebar items or a shorthand notation (which doesn't contain a [36m\`type\`[39m property). See [36m[4mhttps://docusaurus.io/docs/sidebar/items[24m[39m for all valid syntaxes."`,
|
||||
);
|
||||
|
||||
expect(() =>
|
||||
normalizeSidebars({
|
||||
sidebar: [
|
||||
'foo',
|
||||
{
|
||||
Category: {
|
||||
type: 'category',
|
||||
items: ['bar', 'baz'],
|
||||
},
|
||||
},
|
||||
],
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid sidebar items collection [36m\`{\\"type\\":\\"category\\",\\"items\\":[\\"bar\\",\\"baz\\"]}\`[39m in [36m\`items\`[39m of the category [34m[1mCategory[22m[39m: it must either be an array of sidebar items or a shorthand notation (which doesn't contain a [36m\`type\`[39m property). See [36m[4mhttps://docusaurus.io/docs/sidebar/items[24m[39m for all valid syntaxes."`,
|
||||
);
|
||||
|
||||
expect(() =>
|
||||
normalizeSidebars({
|
||||
sidebar: [
|
||||
'foo',
|
||||
{
|
||||
Category: 'bar',
|
||||
},
|
||||
],
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid sidebar items collection [36m\`\\"bar\\"\`[39m in [36m\`items\`[39m of the category [34m[1mCategory[22m[39m: it must either be an array of sidebar items or a shorthand notation (which doesn't contain a [36m\`type\`[39m property). See [36m[4mhttps://docusaurus.io/docs/sidebar/items[24m[39m for all valid syntaxes."`,
|
||||
);
|
||||
|
||||
expect(() =>
|
||||
normalizeSidebars({
|
||||
sidebar: 'item',
|
||||
}),
|
||||
).toThrowErrorMatchingInlineSnapshot(
|
||||
`"Invalid sidebar items collection [36m\`\\"item\\"\`[39m in sidebar [34m[1msidebar[22m[39m: it must either be an array of sidebar items or a shorthand notation (which doesn't contain a [36m\`type\`[39m property). See [36m[4mhttps://docusaurus.io/docs/sidebar/items[24m[39m for all valid syntaxes."`,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue