aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/test/dispatch/routing_test.rb12
-rw-r--r--activesupport/lib/active_support/inflections.rb5
-rw-r--r--activesupport/test/inflector_test_cases.rb1
3 files changed, 10 insertions, 8 deletions
diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb
index 518d0333eb..d591926b0e 100644
--- a/actionpack/test/dispatch/routing_test.rb
+++ b/actionpack/test/dispatch/routing_test.rb
@@ -2153,25 +2153,25 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest
def test_singleton_resources_are_not_singularized
with_test_routes do
get '/medical/taxis/new'
- assert_equal 'medical/taxes#new', @response.body
+ assert_equal 'medical/taxis#new', @response.body
assert_equal '/medical/taxis/new', new_medical_taxis_path
post '/medical/taxis'
- assert_equal 'medical/taxes#create', @response.body
+ assert_equal 'medical/taxis#create', @response.body
get '/medical/taxis'
- assert_equal 'medical/taxes#show', @response.body
+ assert_equal 'medical/taxis#show', @response.body
assert_equal '/medical/taxis', medical_taxis_path
get '/medical/taxis/edit'
- assert_equal 'medical/taxes#edit', @response.body
+ assert_equal 'medical/taxis#edit', @response.body
assert_equal '/medical/taxis/edit', edit_medical_taxis_path
put '/medical/taxis'
- assert_equal 'medical/taxes#update', @response.body
+ assert_equal 'medical/taxis#update', @response.body
delete '/medical/taxis'
- assert_equal 'medical/taxes#destroy', @response.body
+ assert_equal 'medical/taxis#destroy', @response.body
end
end
diff --git a/activesupport/lib/active_support/inflections.rb b/activesupport/lib/active_support/inflections.rb
index e91289e18f..b3eb1333ca 100644
--- a/activesupport/lib/active_support/inflections.rb
+++ b/activesupport/lib/active_support/inflections.rb
@@ -2,7 +2,7 @@ module ActiveSupport
Inflector.inflections do |inflect|
inflect.plural(/$/, 's')
inflect.plural(/s$/i, 's')
- inflect.plural(/(ax|test)is$/i, '\1es')
+ inflect.plural(/^(ax|test)is$/i, '\1es')
inflect.plural(/(octop|vir)us$/i, '\1i')
inflect.plural(/(octop|vir)i$/i, '\1i')
inflect.plural(/(alias|status)$/i, '\1es')
@@ -40,7 +40,8 @@ module ActiveSupport
inflect.singular(/(bus)(es)?$/i, '\1')
inflect.singular(/(o)es$/i, '\1')
inflect.singular(/(shoe)s$/i, '\1')
- inflect.singular(/(cris|ax|test)(is|es)$/i, '\1is')
+ inflect.singular(/(cris|test)(is|es)$/i, '\1is')
+ inflect.singular(/^(a)x[ie]s$/i, '\1xis')
inflect.singular(/(octop|vir)(us|i)$/i, '\1us')
inflect.singular(/(alias|status)(es)?$/i, '\1')
inflect.singular(/^(ox)en/i, '\1')
diff --git a/activesupport/test/inflector_test_cases.rb b/activesupport/test/inflector_test_cases.rb
index eb2915c286..809b8b46c9 100644
--- a/activesupport/test/inflector_test_cases.rb
+++ b/activesupport/test/inflector_test_cases.rb
@@ -93,6 +93,7 @@ module InflectorTestCases
"matrix_fu" => "matrix_fus",
"axis" => "axes",
+ "taxi" => "taxis", # prevents regression
"testis" => "testes",
"crisis" => "crises",