refactor: move extractPageTitleFromURL to module, add tests

This commit is contained in:
xenticore
2025-03-27 14:51:13 -04:00
parent 335e45096f
commit 7c7e58d0d2
3 changed files with 37 additions and 9 deletions

28
__tests__/url.test.ts Normal file
View File

@@ -0,0 +1,28 @@
import { extractPageTitleFromURL } from '../src/content/utils/url';
describe('extractPageTitleFromURL', () => {
it('extracts simple title from URL', () => {
const url = 'https://wiki.teamfortress.com/wiki/Scattergun';
expect(extractPageTitleFromURL(url)).toBe('Scattergun');
});
it('replaces underscores with spaces', () => {
const url = 'https://wiki.teamfortress.com/wiki/Flame_Thrower';
expect(extractPageTitleFromURL(url)).toBe('Flame Thrower');
});
it('decodes URI components', () => {
const url = 'https://wiki.teamfortress.com/wiki/Dragon%27s_Fury';
expect(extractPageTitleFromURL(url)).toBe("Dragon's Fury");
});
it('handles special characters', () => {
const url = 'https://wiki.teamfortress.com/wiki/Ze_%C3%9Cbermensch';
expect(extractPageTitleFromURL(url)).toBe("Ze Übermensch");
});
it('removes language suffix', () => {
const url = 'https://wiki.teamfortress.com/wiki/Ze_%C3%9Cbermensch/pt-br';
expect(extractPageTitleFromURL(url)).toBe('Ze Übermensch');
});
});