fix: avoid quadratic slugify cache lookup (#2783)

This commit is contained in:
Luffy
2026-08-11 11:24:38 +08:00
committed by GitHub
parent 030652c895
commit a8f151ed79
2 changed files with 19 additions and 1 deletions
+18
View File
@@ -167,6 +167,10 @@ describe('core/render/tpl', () => {
});
describe('core/render/slugify', () => {
beforeEach(() => {
slugify.clear();
});
test('slugify()', () => {
const htmlStrippedSlug = slugify(
'Bla bla bla <svg aria-label="broken" class="broken" viewPort="0 0 1 1"><circle cx="0.5" cy="0.5"/></svg>',
@@ -218,4 +222,18 @@ describe('core/render/slugify', () => {
);
expect(markdownLinkSlug).toBe('_500-rc4-2026-03-11');
});
test('slugify.clear() resets duplicate tracking', () => {
expect(slugify('duplicate')).toBe('duplicate');
expect(slugify('duplicate')).toBe('duplicate-1');
slugify.clear();
expect(slugify('duplicate')).toBe('duplicate');
});
test('slugify() handles inherited property names as new slugs', () => {
expect(slugify('constructor')).toBe('constructor');
expect(slugify('constructor')).toBe('constructor-1');
});
});