"S".Pluralize(false) throws an IndexOutOfRangeException
I expected the output of "S".Pluralize(false) to be "Ss", because I see "s" appended for other letters. e.g. "K".Pluralize(false) == "Ks"
However, it throws an exception:
System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.String.get_Chars(Int32 index) at Humanizer.Inflections.Vocabulary.MatchUpperCase(String word, String replacement) in //src/Humanizer/Inflections/Vocabulary.cs:line 158 at Humanizer.Inflections.Vocabulary.ApplyRules(IList`1 rules, String word, Boolean skipFirstRule) in //src/Humanizer/Inflections/Vocabulary.cs:line 148 at Humanizer.Inflections.Vocabulary.Pluralize(String word, Boolean inputIsKnownToBeSingular) in //src/Humanizer/Inflections/Vocabulary.cs:line 85 at Humanizer.InflectorExtensions.Pluralize(String word, Boolean inputIsKnownToBeSingular) in //src/Humanizer/InflectorExtensions.cs:line 42
Found in Humanizer.Core 2.14.1
Could you test if you also get this Exception with a 3.x beta? I think this should've been fixed in #1178.
I tested with 3.0.0-beta.54 and there it is solved.
Is a GA version of 3.0.0 in the planning? I would be happy to create a pull request to add these changes to 2.14, but it looks like there is no active development on that version.
I think 3.x is the only relevant branch. @SimonCropp or @clairernovotny might know more about a release schedule