diff options
author | Wilson Bilkovich <wilsonb@gmail.com> | 2017-06-30 15:53:32 -0700 |
---|---|---|
committer | Wilson Bilkovich <wilsonb@gmail.com> | 2017-06-30 15:53:32 -0700 |
commit | 250bc33233a253d58581b9ab58f4fc0b8dca5b15 (patch) | |
tree | 25525ef8350817447c90ffe73736755706be2adf /actionpack/test/dispatch/routing | |
parent | b38c370b0cbb6df0ba934d98311b3c7b1877429e (diff) | |
download | rails-250bc33233a253d58581b9ab58f4fc0b8dca5b15.tar.gz rails-250bc33233a253d58581b9ab58f4fc0b8dca5b15.tar.bz2 rails-250bc33233a253d58581b9ab58f4fc0b8dca5b15.zip |
Properly register "custom" URL helpers as named helpers.
CustomUrlHelpers were introduced in ce7d5fb2e6, closing issue #22512.
They currently register themselves in an ivar that is never accessed.
This change removes the @custom_helpers special-case, and registers them
the way named routes are normally handled.
Without this, you can get route_defined?(:example_url) == false, while
still being able to call url_helpers.example_url and example_path.
Various popular gems such as 'rspec-rails' make use of route_defined?()
when determining how to proxy method calls or whether to define a route.
Diffstat (limited to 'actionpack/test/dispatch/routing')
-rw-r--r-- | actionpack/test/dispatch/routing/custom_url_helpers_test.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/actionpack/test/dispatch/routing/custom_url_helpers_test.rb b/actionpack/test/dispatch/routing/custom_url_helpers_test.rb index 338992dda5..cbbed66056 100644 --- a/actionpack/test/dispatch/routing/custom_url_helpers_test.rb +++ b/actionpack/test/dispatch/routing/custom_url_helpers_test.rb @@ -322,4 +322,10 @@ class TestCustomUrlHelpers < ActionDispatch::IntegrationTest end end end + + def test_defining_direct_url_registers_helper_method + assert_equal "http://www.example.com/basket", Routes.url_helpers.symbol_url + assert_equal true, Routes.named_routes.route_defined?(:symbol_url), "'symbol_url' named helper not found" + assert_equal true, Routes.named_routes.route_defined?(:symbol_path), "'symbol_path' named helper not found" + end end |