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) { 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');