From aad621dcbf355e6caa1be36d0bed04feff608f4b Mon Sep 17 00:00:00 2001 From: Ludovic Perrine Date: Wed, 13 Sep 2017 14:50:29 +0200 Subject: [PATCH 1/2] =?UTF-8?q?Add=20test=20for=20slugify=20and=20cleanDia?= =?UTF-8?q?critics=20of=20=C5=93=20and=20=C3=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tests/cleanDiacritics.js | 8 +++++--- tests/slugify.js | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/cleanDiacritics.js b/tests/cleanDiacritics.js index 01b378f3..b53faf3a 100644 --- a/tests/cleanDiacritics.js +++ b/tests/cleanDiacritics.js @@ -2,8 +2,8 @@ var equal = require('assert').equal; var cleanDiacritics = require('../cleanDiacritics'); -var from = 'ąàáäâãåæăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșşšŝťțţŭùúüűûñÿýçżźž', - to = 'aaaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz'; +var from = 'ąàáäâãåăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșşšŝťțţŭùúüűûñÿýçżźž', + to = 'aaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz'; test('#cleanDiacritics', function() { @@ -20,5 +20,7 @@ test('#cleanDiacritics', function() { equal(cleanDiacritics('ß'), 'ss'); equal(cleanDiacritics('Schuß'), 'Schuss'); -}); + equal(cleanDiacritics('œuf'), 'oeuf'); + equal(cleanDiacritics('curriculum vitæ'), 'curriculum vitae'); +}); diff --git a/tests/slugify.js b/tests/slugify.js index 2b779981..e4b456bc 100644 --- a/tests/slugify.js +++ b/tests/slugify.js @@ -5,6 +5,7 @@ var slugify = require('../slugify'); test('#slugify', function() { equal(slugify('Jack & Jill like numbers 1,2,3 and 4 and silly characters ?%.$!/'), 'jack-jill-like-numbers-1-2-3-and-4-and-silly-characters'); equal(slugify('Un éléphant à l\'orée du bois'), 'un-elephant-a-l-oree-du-bois'); + equal(slugify('Un œuf et un curriculum vitæ'), 'un-oeuf-et-un-curriculum-vitae'); equal(slugify('I know latin characters: á í ó ú ç ã õ ñ ü ă ș ț'), 'i-know-latin-characters-a-i-o-u-c-a-o-n-u-a-s-t'); equal(slugify('I am a word too, even though I am but a single letter: i!'), 'i-am-a-word-too-even-though-i-am-but-a-single-letter-i'); equal(slugify('Some asian 天地人 characters'), 'some-asian-characters'); From 9033c9d9491288ccedf102f3da0bf8d51a69d8c9 Mon Sep 17 00:00:00 2001 From: Ludovic Perrine Date: Wed, 13 Sep 2017 14:57:54 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Fix=20slugify=20and=20cleanDiacritics=20for?= =?UTF-8?q?=20=C5=93=20and=20=C3=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit œ is converted to oe and æ to ae. --- cleanDiacritics.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cleanDiacritics.js b/cleanDiacritics.js index d877006a..f9101932 100644 --- a/cleanDiacritics.js +++ b/cleanDiacritics.js @@ -1,8 +1,8 @@ var makeString = require('./helper/makeString'); -var from = 'ąàáäâãåæăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșşšŝťțţŭùúüűûñÿýçżźž', - to = 'aaaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz'; +var from = 'ąàáäâãåăćčĉęèéëêĝĥìíïîĵłľńňòóöőôõðøśșşšŝťțţŭùúüűûñÿýçżźž', + to = 'aaaaaaaaccceeeeeghiiiijllnnoooooooossssstttuuuuuunyyczzz'; from += from.toUpperCase(); to += to.toUpperCase(); @@ -12,6 +12,10 @@ to = to.split(''); // for tokens requireing multitoken output from += 'ß'; to.push('ss'); +from += 'œ'; +to.push('oe'); +from += 'æ'; +to.push('ae'); module.exports = function cleanDiacritics(str) {