Files
AtreidesAssetsFree/tests/db/search-name.test.mjs
T

48 lines
1.6 KiB
JavaScript
Raw Normal View History

2026-10-29 11:57:29 +01:00
// Generated, do not edit. sha256:af48787cb89b51ea0deb7319053f63d99c76dc61ed23f69fff32ffdd48d87f38
import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { toSearchName } from '../../shared/search-name.js';
describe('toSearchName', () => {
it('maakt er kleine letters van', () => {
assert.equal(toSearchName('Bitcoin'), 'bitcoin');
assert.equal(toSearchName('WERK'), 'werk');
});
it('trimt spaties aan de randen', () => {
assert.equal(toSearchName(' Kluis '), 'kluis');
});
it('haalt diakritische tekens weg', () => {
assert.equal(toSearchName('Café'), 'cafe');
assert.equal(toSearchName('Bäcker'), 'backer');
});
it('laat spaties BINNENIN staan', () => {
assert.equal(toSearchName('Baar 1 kg'), 'baar 1 kg');
});
it('laat leestekens en cijfers ongemoeid', () => {
assert.equal(toSearchName('mempool.space (publiek)'), 'mempool.space (publiek)');
assert.equal(toSearchName('Baar 1 kg'), 'baar 1 kg');
});
it('geeft lege tekst voor null en undefined in plaats van te gooien', () => {
assert.equal(toSearchName(null), '');
assert.equal(toSearchName(undefined), '');
assert.equal(toSearchName(''), '');
assert.equal(toSearchName(' '), '');
});
it('is stabiel: nog een keer normaliseren verandert niets', () => {
for (const naam of ['Café', ' Werk ', 'Baar 1 kg', 'ÉÉN']) {
assert.equal(toSearchName(toSearchName(naam)), toSearchName(naam));
}
});
it('maakt van twee schrijfwijzen dezelfde sleutel', () => {
assert.equal(toSearchName('Werk'), toSearchName('WERK'));
assert.equal(toSearchName('Werk'), toSearchName(' werk '));
});
});