mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Merge pull request #4104 from Ocelot-Social-Community/bgt-german-umlaut-slug
[WIP] fix: 🍰 Issue #3504 umlaut encoding #3676
This commit is contained in:
commit
e33da64c10
@ -2,6 +2,7 @@ import slugify from 'slug'
|
|||||||
export default async function uniqueSlug(string, isUnique) {
|
export default async function uniqueSlug(string, isUnique) {
|
||||||
const slug = slugify(string || 'anonymous', {
|
const slug = slugify(string || 'anonymous', {
|
||||||
lower: true,
|
lower: true,
|
||||||
|
multicharmap: { Ä: 'AE', ä: 'ae', Ö: 'OE', ö: 'oe', Ü: 'UE', ü: 'ue', ß: 'ss' },
|
||||||
})
|
})
|
||||||
if (await isUnique(slug)) return slug
|
if (await isUnique(slug)) return slug
|
||||||
|
|
||||||
|
|||||||
@ -18,4 +18,16 @@ describe('uniqueSlug', () => {
|
|||||||
const isUnique = jest.fn().mockResolvedValue(true)
|
const isUnique = jest.fn().mockResolvedValue(true)
|
||||||
expect(uniqueSlug(string, isUnique)).resolves.toEqual('anonymous')
|
expect(uniqueSlug(string, isUnique)).resolves.toEqual('anonymous')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
it('Converts umlaut to a two letter equivalent', async () => {
|
||||||
|
const umlaut = 'ÄÖÜäöüß'
|
||||||
|
const isUnique = jest.fn().mockResolvedValue(true)
|
||||||
|
await expect(uniqueSlug(umlaut, isUnique)).resolves.toEqual('aeoeueaeoeuess')
|
||||||
|
})
|
||||||
|
|
||||||
|
it('Removes Spanish enya and diacritics', async () => {
|
||||||
|
const diacritics = 'áàéèíìóòúùñçÁÀÉÈÍÌÓÒÚÙÑÇ'
|
||||||
|
const isUnique = jest.fn().mockResolvedValue(true)
|
||||||
|
await expect(uniqueSlug(diacritics, isUnique)).resolves.toEqual('aaeeiioouuncaaeeiioouunc')
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user