mirror of
https://github.com/jcreek/LivingDexTracker.git
synced 2026-09-14 17:42:17 +00:00
35 lines
1.3 KiB
TypeScript
35 lines
1.3 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { resolveSpriteUrl } from '$lib/utils/spriteUrl';
|
|
|
|
describe('resolveSpriteUrl', () => {
|
|
it('uses a supplied sprite key and local shiny path', () => {
|
|
expect(
|
|
resolveSpriteUrl({ pokedexNumber: 25, form: '', spriteKey: '25-partner-cap' }, true, true)
|
|
).toBe('/sprites-small/home/shiny/25-partner-cap.webp');
|
|
});
|
|
|
|
it('places female forms in the female folder', () => {
|
|
expect(
|
|
resolveSpriteUrl({ pokedexNumber: 592, form: 'female', spriteKey: '592' }, false, true)
|
|
).toBe('/sprites-small/home/female/592.webp');
|
|
});
|
|
|
|
it('derives the established fallback key for regional forms', () => {
|
|
expect(resolveSpriteUrl({ pokedexNumber: 83, form: 'Galarian' }, false, false)).toBe(
|
|
'https://raw.githubusercontent.com/jcreek/LivingDexTracker/master/static/sprites-small/home/83-galar.webp'
|
|
);
|
|
});
|
|
|
|
it('uses the Pokédex number for the default male form', () => {
|
|
expect(resolveSpriteUrl({ pokedexNumber: 25, form: 'Male' }, false, true)).toBe(
|
|
'/sprites-small/home/25.webp'
|
|
);
|
|
});
|
|
|
|
it('normalizes decorated form names and an all-zero number', () => {
|
|
expect(
|
|
resolveSpriteUrl({ pokedexNumber: 0, form: 'Form 2 [event] (legacy)' }, false, true)
|
|
).toBe('/sprites-small/home/0-form-two.webp');
|
|
});
|
|
});
|