48 lines
1.6 KiB
JavaScript
48 lines
1.6 KiB
JavaScript
// 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 '));
|
||
|
|
});
|
||
|
|
});
|