diff options
-rw-r--r-- | actionpack/test/dispatch/routing_test.rb | 12 | ||||
-rw-r--r-- | activesupport/lib/active_support/inflections.rb | 5 | ||||
-rw-r--r-- | activesupport/test/inflector_test_cases.rb | 1 |
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", |