Files
SubMiner/stats/src/lib/anilist-search-query.test.ts
T

23 lines
1.1 KiB
TypeScript

import assert from 'node:assert/strict';
import test from 'node:test';
import { normalizeAnilistSearchQuery } from './anilist-search-query';
test('normalizeAnilistSearchQuery removes appended season scope from anime titles', () => {
assert.equal(normalizeAnilistSearchQuery('Sword Art Online Season 1'), 'Sword Art Online');
assert.equal(normalizeAnilistSearchQuery('KonoSuba Season 02'), 'KonoSuba');
});
test('normalizeAnilistSearchQuery removes bracketed season scope without dropping real title text', () => {
assert.equal(normalizeAnilistSearchQuery('KonoSuba (Season 2)'), 'KonoSuba');
assert.equal(normalizeAnilistSearchQuery('KonoSuba - Season 2'), 'KonoSuba');
});
test('normalizeAnilistSearchQuery removes colon-delimited season scope from anime titles', () => {
assert.equal(normalizeAnilistSearchQuery('My Hero Academia: Season 3'), 'My Hero Academia');
assert.equal(normalizeAnilistSearchQuery('Title: Season 01'), 'Title');
});
test('normalizeAnilistSearchQuery keeps inputs when stripping season scope would erase title', () => {
assert.equal(normalizeAnilistSearchQuery('Season 1'), 'Season 1');
});