From 92120426317083ae90cb64cff07a7dd3a8acdc65 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 4 Jul 2014 12:04:52 -0700 Subject: [PATCH] Improve router test. We should assert that routes will not be recognized if the verbs do not match. --- actionpack/test/journey/router_test.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/actionpack/test/journey/router_test.rb b/actionpack/test/journey/router_test.rb index 8fc965adf4..8e90d4100f 100644 --- a/actionpack/test/journey/router_test.rb +++ b/actionpack/test/journey/router_test.rb @@ -544,19 +544,24 @@ def test_recognize_head_request_as_get_route def test_recognize_cares_about_verbs path = Path::Pattern.from_string "/books(/:action(.:format))" app = Object.new - conditions = { - :request_method => 'GET' - } + conditions = { request_method: 'GET' } @router.routes.add_route(app, path, conditions, {}) + env = rails_env 'PATH_INFO' => '/books/list.rss', + "REQUEST_METHOD" => "POST" + + called = false + @router.recognize(env) do |r, params| + called = true + end + + assert_not called + conditions = conditions.dup conditions[:request_method] = 'POST' post = @router.routes.add_route(app, path, conditions, {}) - env = rails_env 'PATH_INFO' => '/books/list.rss', - "REQUEST_METHOD" => "POST" - called = false @router.recognize(env) do |r, params| assert_equal post, r -- GitLab