diff options
author | brainopia <brainopia@evilmartians.com> | 2015-02-23 19:51:30 +0300 |
---|---|---|
committer | brainopia <brainopia@evilmartians.com> | 2015-02-23 19:57:01 +0300 |
commit | 321db4aa2edf46b8cf54c99bf3b97b48b7099dcf (patch) | |
tree | c2a07a82692e7c5ed546c02e7340ccb429d62842 /railties/test | |
parent | e71f5dad4e0d27afbcc091173bee20bd6f4d2a4e (diff) | |
download | rails-321db4aa2edf46b8cf54c99bf3b97b48b7099dcf.tar.gz rails-321db4aa2edf46b8cf54c99bf3b97b48b7099dcf.tar.bz2 rails-321db4aa2edf46b8cf54c99bf3b97b48b7099dcf.zip |
Change filter on /rails/info/routes to use an actual path regexp from rails
Change filter on /rails/info/routes to use an actual path regexp from rails
and not approximate javascript version. Oniguruma supports much more
extensive list of features than javascript regexp engine.
Fixes #18402.
Diffstat (limited to 'railties/test')
-rw-r--r-- | railties/test/rails_info_controller_test.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/railties/test/rails_info_controller_test.rb b/railties/test/rails_info_controller_test.rb index 25b0e761cb..d87b51d852 100644 --- a/railties/test/rails_info_controller_test.rb +++ b/railties/test/rails_info_controller_test.rb @@ -53,4 +53,29 @@ class InfoControllerTest < ActionController::TestCase assert_response :success end + test "info controller returns exact matches" do + exact_count = -> { JSON(response.body)['exact'].size } + + get :routes, path: 'rails/info/route' + assert exact_count.call == 0, 'should not match incomplete routes' + + get :routes, path: 'rails/info/routes' + assert exact_count.call == 1, 'should match complete routes' + + get :routes, path: 'rails/info/routes.html' + assert exact_count.call == 1, 'should match complete routes with optional parts' + end + + test "info controller returns fuzzy matches" do + fuzzy_count = -> { JSON(response.body)['fuzzy'].size } + + get :routes, path: 'rails/info' + assert fuzzy_count.call == 2, 'should match incomplete routes' + + get :routes, path: 'rails/info/routes' + assert fuzzy_count.call == 1, 'should match complete routes' + + get :routes, path: 'rails/info/routes.html' + assert fuzzy_count.call == 0, 'should match optional parts of route literally' + end end |