mirror of
https://github.com/facebook/docusaurus.git
synced 2025-12-26 09:43:10 +00:00
fix(core): the broken anchor checker should not be sensitive pathname trailing slashes (#10130)
This commit is contained in:
parent
02e38d8ccf
commit
394ce84691
|
|
@ -148,6 +148,32 @@ describe('handleBrokenLinks', () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('accepts valid non-strict link with anchor', async () => {
|
||||
await testBrokenLinks({
|
||||
routes: [{path: '/page1', strict: false}, {path: '/page2/'}],
|
||||
collectedLinks: {
|
||||
'/page1': {
|
||||
links: [
|
||||
'/page1#page1anchor',
|
||||
'/page1/#page1anchor',
|
||||
'/page2#page2anchor',
|
||||
'/page2/#page2anchor',
|
||||
],
|
||||
anchors: ['page1anchor'],
|
||||
},
|
||||
'/page2/': {
|
||||
links: [
|
||||
'/page1#page1anchor',
|
||||
'/page1/#page1anchor',
|
||||
'/page2#page2anchor',
|
||||
'/page2/#page2anchor',
|
||||
],
|
||||
anchors: ['page2anchor'],
|
||||
},
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
it('accepts valid links and anchors, sparse arrays', async () => {
|
||||
await testBrokenLinks({
|
||||
routes: [{path: '/page1'}, {path: '/page2'}],
|
||||
|
|
|
|||
|
|
@ -125,7 +125,15 @@ function createBrokenLinksHelper({
|
|||
return false;
|
||||
}
|
||||
const targetPage =
|
||||
collectedLinks.get(pathname) || collectedLinks.get(decodeURI(pathname));
|
||||
collectedLinks.get(pathname) ??
|
||||
collectedLinks.get(decodeURI(pathname)) ??
|
||||
// The broken link checker should not care about a trailing slash
|
||||
// Those are already covered by the broken pathname checker
|
||||
// See https://github.com/facebook/docusaurus/issues/10116
|
||||
collectedLinks.get(addTrailingSlash(pathname)) ??
|
||||
collectedLinks.get(addTrailingSlash(decodeURI(pathname))) ??
|
||||
collectedLinks.get(removeTrailingSlash(pathname)) ??
|
||||
collectedLinks.get(removeTrailingSlash(decodeURI(pathname)));
|
||||
// link with anchor to a page that does not exist (or did not collect any
|
||||
// link/anchor) is considered as a broken anchor
|
||||
if (!targetPage) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue