Fixed that pluralizing an empty string should return the same empty string, not "s" (closes #7720) [josh]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7569 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2007-09-22 18:34:43 +00:00
parent 59c36fd456
commit 3dcae9fefd
3 changed files with 7 additions and 1 deletions

View File

@ -1,5 +1,7 @@
*SVN*
* Fixed that pluralizing an empty string should return the same empty string, not "s" #7720 [josh]
* Added call to inspect on non-string classes for the logger #8533 [codahale]
* Deprecation: remove deprecated :mday option from Time, Date, and DateTime#change. [Jeremy Kemper]

View File

@ -106,7 +106,7 @@ module Inflector
def pluralize(word)
result = word.to_s.dup
if inflections.uncountables.include?(result.downcase)
if word.empty? || inflections.uncountables.include?(result.downcase)
result
else
inflections.plurals.each { |(rule, replacement)| break if result.gsub!(rule, replacement) }

View File

@ -220,6 +220,10 @@ class InflectorTest < Test::Unit::TestCase
assert_equal "Plurals", Inflector.pluralize("Plurals")
end
def test_pluralize_empty_string
assert_equal "", Inflector.pluralize("")
end
SingularToPlural.each do |singular, plural|
define_method "test_pluralize_#{singular}" do
assert_equal(plural, Inflector.pluralize(singular))