24 lines
1,002 B
JavaScript
24 lines
1,002 B
JavaScript
import { test } from 'node:test'
|
|
import assert from 'node:assert/strict'
|
|
import { slugifyRecipeName } from '#import-recipes/recipes/slugifyRecipeName.js'
|
|
|
|
test('drops accents, lowercases and joins with dashes', () => {
|
|
assert.equal(slugifyRecipeName('Gnocchis à la sauge'), 'gnocchis-a-la-sauge')
|
|
assert.equal(slugifyRecipeName('Gratin de courgettes'), 'gratin-de-courgettes')
|
|
assert.equal(slugifyRecipeName('Crème brûlée'), 'creme-brulee')
|
|
})
|
|
|
|
test('spells out ligatures', () => {
|
|
assert.equal(slugifyRecipeName('Bœuf bourguignon'), 'boeuf-bourguignon')
|
|
})
|
|
|
|
test('collapses punctuation and trims the dashes', () => {
|
|
assert.equal(slugifyRecipeName(" Tarte aux pommes, maison ! "), 'tarte-aux-pommes-maison')
|
|
assert.equal(slugifyRecipeName('Riz 100 % complet'), 'riz-100-complet')
|
|
})
|
|
|
|
test('returns an empty string when nothing is left', () => {
|
|
assert.equal(slugifyRecipeName('!!!'), '')
|
|
assert.equal(slugifyRecipeName(''), '')
|
|
assert.equal(slugifyRecipeName(null), '')
|
|
})
|