mirror of
https://github.com/facebook/docusaurus.git
synced 2025-07-18 00:57:51 +02:00
test(theme-common): improve test coverage (#6902)
* test(theme-common): improve test coverage * revert
This commit is contained in:
parent
aa5a2d4c04
commit
f6baaa6b75
59 changed files with 1183 additions and 755 deletions
|
@ -18,161 +18,161 @@ function params(
|
|||
|
||||
describe('applyTrailingSlash', () => {
|
||||
it('applies to empty', () => {
|
||||
expect(applyTrailingSlash('', params(true))).toEqual('/');
|
||||
expect(applyTrailingSlash('', params(false))).toEqual('');
|
||||
expect(applyTrailingSlash('', params(undefined))).toEqual('');
|
||||
expect(applyTrailingSlash('', params(true))).toBe('/');
|
||||
expect(applyTrailingSlash('', params(false))).toBe('');
|
||||
expect(applyTrailingSlash('', params(undefined))).toBe('');
|
||||
});
|
||||
|
||||
it('does not apply to /', () => {
|
||||
expect(applyTrailingSlash('/', params(true))).toEqual('/');
|
||||
expect(applyTrailingSlash('/', params(false))).toEqual('/');
|
||||
expect(applyTrailingSlash('/', params(undefined))).toEqual('/');
|
||||
expect(applyTrailingSlash('/', params(true))).toBe('/');
|
||||
expect(applyTrailingSlash('/', params(false))).toBe('/');
|
||||
expect(applyTrailingSlash('/', params(undefined))).toBe('/');
|
||||
|
||||
expect(applyTrailingSlash('/?query#anchor', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/?query#anchor', params(true))).toBe(
|
||||
'/?query#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/?query#anchor', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/?query#anchor', params(false))).toBe(
|
||||
'/?query#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/?query#anchor', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/?query#anchor', params(undefined))).toBe(
|
||||
'/?query#anchor',
|
||||
);
|
||||
});
|
||||
|
||||
it('does not apply to /baseUrl/', () => {
|
||||
const baseUrl = '/baseUrl/';
|
||||
expect(applyTrailingSlash('/baseUrl/', params(true, baseUrl))).toEqual(
|
||||
expect(applyTrailingSlash('/baseUrl/', params(true, baseUrl))).toBe(
|
||||
'/baseUrl/',
|
||||
);
|
||||
expect(applyTrailingSlash('/baseUrl/', params(false, baseUrl))).toEqual(
|
||||
expect(applyTrailingSlash('/baseUrl/', params(false, baseUrl))).toBe(
|
||||
'/baseUrl/',
|
||||
);
|
||||
expect(applyTrailingSlash('/baseUrl/', params(undefined, baseUrl))).toEqual(
|
||||
expect(applyTrailingSlash('/baseUrl/', params(undefined, baseUrl))).toBe(
|
||||
'/baseUrl/',
|
||||
);
|
||||
|
||||
expect(
|
||||
applyTrailingSlash('/baseUrl/?query#anchor', params(true, baseUrl)),
|
||||
).toEqual('/baseUrl/?query#anchor');
|
||||
).toBe('/baseUrl/?query#anchor');
|
||||
expect(
|
||||
applyTrailingSlash('/baseUrl/?query#anchor', params(false, baseUrl)),
|
||||
).toEqual('/baseUrl/?query#anchor');
|
||||
).toBe('/baseUrl/?query#anchor');
|
||||
expect(
|
||||
applyTrailingSlash('/baseUrl/?query#anchor', params(undefined, baseUrl)),
|
||||
).toEqual('/baseUrl/?query#anchor');
|
||||
).toBe('/baseUrl/?query#anchor');
|
||||
});
|
||||
|
||||
it('does not apply to #anchor links', () => {
|
||||
expect(applyTrailingSlash('#', params(true))).toEqual('#');
|
||||
expect(applyTrailingSlash('#', params(false))).toEqual('#');
|
||||
expect(applyTrailingSlash('#', params(undefined))).toEqual('#');
|
||||
expect(applyTrailingSlash('#anchor', params(true))).toEqual('#anchor');
|
||||
expect(applyTrailingSlash('#anchor', params(false))).toEqual('#anchor');
|
||||
expect(applyTrailingSlash('#anchor', params(undefined))).toEqual('#anchor');
|
||||
expect(applyTrailingSlash('#', params(true))).toBe('#');
|
||||
expect(applyTrailingSlash('#', params(false))).toBe('#');
|
||||
expect(applyTrailingSlash('#', params(undefined))).toBe('#');
|
||||
expect(applyTrailingSlash('#anchor', params(true))).toBe('#anchor');
|
||||
expect(applyTrailingSlash('#anchor', params(false))).toBe('#anchor');
|
||||
expect(applyTrailingSlash('#anchor', params(undefined))).toBe('#anchor');
|
||||
});
|
||||
|
||||
it('applies to simple paths', () => {
|
||||
expect(applyTrailingSlash('abc', params(true))).toEqual('abc/');
|
||||
expect(applyTrailingSlash('abc', params(false))).toEqual('abc');
|
||||
expect(applyTrailingSlash('abc', params(undefined))).toEqual('abc');
|
||||
expect(applyTrailingSlash('abc/', params(true))).toEqual('abc/');
|
||||
expect(applyTrailingSlash('abc/', params(false))).toEqual('abc');
|
||||
expect(applyTrailingSlash('abc/', params(undefined))).toEqual('abc/');
|
||||
expect(applyTrailingSlash('/abc', params(true))).toEqual('/abc/');
|
||||
expect(applyTrailingSlash('/abc', params(false))).toEqual('/abc');
|
||||
expect(applyTrailingSlash('/abc', params(undefined))).toEqual('/abc');
|
||||
expect(applyTrailingSlash('/abc/', params(true))).toEqual('/abc/');
|
||||
expect(applyTrailingSlash('/abc/', params(false))).toEqual('/abc');
|
||||
expect(applyTrailingSlash('/abc/', params(undefined))).toEqual('/abc/');
|
||||
expect(applyTrailingSlash('abc', params(true))).toBe('abc/');
|
||||
expect(applyTrailingSlash('abc', params(false))).toBe('abc');
|
||||
expect(applyTrailingSlash('abc', params(undefined))).toBe('abc');
|
||||
expect(applyTrailingSlash('abc/', params(true))).toBe('abc/');
|
||||
expect(applyTrailingSlash('abc/', params(false))).toBe('abc');
|
||||
expect(applyTrailingSlash('abc/', params(undefined))).toBe('abc/');
|
||||
expect(applyTrailingSlash('/abc', params(true))).toBe('/abc/');
|
||||
expect(applyTrailingSlash('/abc', params(false))).toBe('/abc');
|
||||
expect(applyTrailingSlash('/abc', params(undefined))).toBe('/abc');
|
||||
expect(applyTrailingSlash('/abc/', params(true))).toBe('/abc/');
|
||||
expect(applyTrailingSlash('/abc/', params(false))).toBe('/abc');
|
||||
expect(applyTrailingSlash('/abc/', params(undefined))).toBe('/abc/');
|
||||
});
|
||||
|
||||
it('applies to path with #anchor', () => {
|
||||
expect(applyTrailingSlash('/abc#anchor', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc#anchor', params(true))).toBe(
|
||||
'/abc/#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc#anchor', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc#anchor', params(false))).toBe(
|
||||
'/abc#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc#anchor', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/abc#anchor', params(undefined))).toBe(
|
||||
'/abc#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(true))).toBe(
|
||||
'/abc/#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(false))).toBe(
|
||||
'/abc#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/#anchor', params(undefined))).toBe(
|
||||
'/abc/#anchor',
|
||||
);
|
||||
});
|
||||
|
||||
it('applies to path with ?search', () => {
|
||||
expect(applyTrailingSlash('/abc?search', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search', params(true))).toBe(
|
||||
'/abc/?search',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc?search', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search', params(false))).toBe(
|
||||
'/abc?search',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc?search', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search', params(undefined))).toBe(
|
||||
'/abc?search',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/?search', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/?search', params(true))).toBe(
|
||||
'/abc/?search',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/?search', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/?search', params(false))).toBe(
|
||||
'/abc?search',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/?search', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/?search', params(undefined))).toBe(
|
||||
'/abc/?search',
|
||||
);
|
||||
});
|
||||
|
||||
it('applies to path with ?search#anchor', () => {
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(true))).toBe(
|
||||
'/abc/?search#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(false))).toBe(
|
||||
'/abc?search#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(undefined))).toEqual(
|
||||
expect(applyTrailingSlash('/abc?search#anchor', params(undefined))).toBe(
|
||||
'/abc?search#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/?search#anchor', params(true))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/?search#anchor', params(true))).toBe(
|
||||
'/abc/?search#anchor',
|
||||
);
|
||||
expect(applyTrailingSlash('/abc/?search#anchor', params(false))).toEqual(
|
||||
expect(applyTrailingSlash('/abc/?search#anchor', params(false))).toBe(
|
||||
'/abc?search#anchor',
|
||||
);
|
||||
expect(
|
||||
applyTrailingSlash('/abc/?search#anchor', params(undefined)),
|
||||
).toEqual('/abc/?search#anchor');
|
||||
expect(applyTrailingSlash('/abc/?search#anchor', params(undefined))).toBe(
|
||||
'/abc/?search#anchor',
|
||||
);
|
||||
});
|
||||
|
||||
it('applies to fully qualified urls', () => {
|
||||
expect(
|
||||
applyTrailingSlash('https://xyz.com/abc?search#anchor', params(true)),
|
||||
).toEqual('https://xyz.com/abc/?search#anchor');
|
||||
).toBe('https://xyz.com/abc/?search#anchor');
|
||||
expect(
|
||||
applyTrailingSlash('https://xyz.com/abc?search#anchor', params(false)),
|
||||
).toEqual('https://xyz.com/abc?search#anchor');
|
||||
).toBe('https://xyz.com/abc?search#anchor');
|
||||
expect(
|
||||
applyTrailingSlash(
|
||||
'https://xyz.com/abc?search#anchor',
|
||||
params(undefined),
|
||||
),
|
||||
).toEqual('https://xyz.com/abc?search#anchor');
|
||||
).toBe('https://xyz.com/abc?search#anchor');
|
||||
expect(
|
||||
applyTrailingSlash('https://xyz.com/abc/?search#anchor', params(true)),
|
||||
).toEqual('https://xyz.com/abc/?search#anchor');
|
||||
).toBe('https://xyz.com/abc/?search#anchor');
|
||||
expect(
|
||||
applyTrailingSlash('https://xyz.com/abc/?search#anchor', params(false)),
|
||||
).toEqual('https://xyz.com/abc?search#anchor');
|
||||
).toBe('https://xyz.com/abc?search#anchor');
|
||||
expect(
|
||||
applyTrailingSlash(
|
||||
'https://xyz.com/abc/?search#anchor',
|
||||
params(undefined),
|
||||
),
|
||||
).toEqual('https://xyz.com/abc/?search#anchor');
|
||||
).toBe('https://xyz.com/abc/?search#anchor');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue