Skip to content

Commit b9f4fd4

Browse files
authored
Merge pull request #58 from dshook/issue-57
Fix for #57 and other -aves words
2 parents 922a77c + 289249f commit b9f4fd4

2 files changed

Lines changed: 10 additions & 0 deletions

File tree

lib/inflection.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,7 @@
356356
hives : new RegExp( '(hi|ti)ves$' , 'gi' ),
357357
curves : new RegExp( '(curve)s$' , 'gi' ),
358358
lrves : new RegExp( '([lr])ves$' , 'gi' ),
359+
aves : new RegExp( '([a])ves$' , 'gi' ),
359360
foves : new RegExp( '([^fo])ves$' , 'gi' ),
360361
movies : new RegExp( '(m)ovies$' , 'gi' ),
361362
aeiouyies : new RegExp( '([^aeiouy]|qu)ies$' , 'gi' ),
@@ -525,6 +526,7 @@
525526
[ regex.plural.hives , '$1ve' ],
526527
[ regex.plural.curves , '$1' ],
527528
[ regex.plural.lrves , '$1f' ],
529+
[ regex.plural.aves , '$1ve' ],
528530
[ regex.plural.foves , '$1fe' ],
529531
[ regex.plural.movies , '$1ovie' ],
530532
[ regex.plural.aeiouyies, '$1y' ],

test/inflection.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@ describe( 'test .pluralize', function (){
3434
inflection.pluralize( 'goose' ).should.equal( 'geese' );
3535
inflection.pluralize( 'tooth' ).should.equal( 'teeth' );
3636
inflection.pluralize( 'teeth' ).should.equal( 'teeth' );
37+
inflection.pluralize( 'knife' ).should.equal( 'knives' );
38+
inflection.pluralize( 'half' ).should.equal( 'halves' );
39+
inflection.pluralize( 'cave' ).should.equal( 'caves' );
40+
inflection.pluralize( 'save' ).should.equal( 'saves' );
3741
inflection.pluralize( 'street' ).should.equal( 'streets' );
3842
inflection.pluralize( 'streets' ).should.equal( 'streets' );
3943
inflection.pluralize( 'data' ).should.equal( 'data' );
@@ -77,6 +81,10 @@ describe( 'test .singularize', function (){
7781
inflection.singularize( 'geese' ).should.equal( 'goose' );
7882
inflection.singularize( 'teeth' ).should.equal( 'tooth' );
7983
inflection.singularize( 'tooth' ).should.equal( 'tooth' );
84+
inflection.singularize( 'knives' ).should.equal( 'knife' );
85+
inflection.singularize( 'halves' ).should.equal( 'half' );
86+
inflection.singularize( 'caves' ).should.equal( 'cave' );
87+
inflection.singularize( 'saves' ).should.equal( 'save' );
8088
inflection.singularize( 'street' ).should.equal( 'street' );
8189
inflection.singularize( 'streets' ).should.equal( 'street' );
8290
inflection.singularize( 'data' ).should.equal( 'datum' );

0 commit comments

Comments
 (0)