diff --git a/pluralize.js b/pluralize.js index 14e7b94..95ba551 100644 --- a/pluralize.js +++ b/pluralize.js @@ -282,8 +282,8 @@ ['proof', 'proofs'], ['carve', 'carves'], ['valve', 'valves'], + ['looey', 'looies'], ['thief', 'thieves'], - ['genie', 'genies'], ['groove', 'grooves'], ['pickaxe', 'pickaxes'], ['whiskey', 'whiskies'] @@ -333,9 +333,9 @@ [/(^analy)(?:sis|ses)$/i, '$1sis'], [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i, '$1fe'], [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'], - [/([^aeiouy]|qu)ies$/i, '$1y'], - [/(^[pl]|zomb|^(?:neck)?t|[aeo][lt]|cut)ies$/i, '$1ie'], - [/(\b(?:mon|smil))ies$/i, '$1ey'], + [/ies$/i, 'y'], + [/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'], + [/\b(mon|smil)ies$/i, '$1ey'], [/(m|l)ice$/i, '$1ouse'], [/(seraph|cherub)im$/i, '$1'], [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i, '$1'], diff --git a/test.js b/test.js index 47957c1..db70f5b 100644 --- a/test.js +++ b/test.js @@ -262,6 +262,19 @@ var BASIC_TESTS = [ ['dye', 'dyes'], ['move', 'moves'], ['zombie', 'zombies'], + ['variety', 'varieties'], + ['talkie', 'talkies'], + ['walkie-talkie', 'walkie-talkies'], + ['groupie', 'groupies'], + ['goonie', 'goonies'], + ['lassie', 'lassies'], + ['genie', 'genies'], + ['foodie', 'foodies'], + ['faerie', 'faeries'], + ['collie', 'collies'], + ['obloquy', 'obloquies'], + ['looey', 'looies'], + ['osprey', 'ospreys'], ['cover', 'covers'], ['tie', 'ties'], ['groove', 'grooves'], @@ -332,7 +345,8 @@ var BASIC_TESTS = [ ['activity', 'activities'], ['cutie', 'cuties'], ['validation', 'validations'], - ['floatie', 'floaties'], + ['floaty', 'floaties'], + ['nicety', 'niceties'], ['goalie', 'goalies'], ['crawly', 'crawlies'], ['duty', 'duties'], @@ -553,7 +567,6 @@ var BASIC_TESTS = [ ['strife', 'strifes'], ['pony', 'ponies'], ['phony', 'phonies'], - ['goony', 'goonies'], ['felony', 'felonies'], ['colony', 'colonies'], ['symphony', 'symphonies'],