diff options
author | Guo Xiang Tan <tgx_world@hotmail.com> | 2014-06-18 19:16:30 -0700 |
---|---|---|
committer | Guo Xiang Tan <tgx_world@hotmail.com> | 2015-02-26 12:18:20 +0800 |
commit | 89edfbd3a452ce80b1865b136df8a13aad7835b4 (patch) | |
tree | c14acedf89bc351251f694a500bfb9fee6f3b453 /actionpack/test/journey | |
parent | 89e051ace345b6e5d652b039e55ce00eafe1ed6b (diff) | |
download | rails-89edfbd3a452ce80b1865b136df8a13aad7835b4.tar.gz rails-89edfbd3a452ce80b1865b136df8a13aad7835b4.tar.bz2 rails-89edfbd3a452ce80b1865b136df8a13aad7835b4.zip |
Partition routes during setup.
Partitioning of all the routes is currently being done during the
first request. Since there is no need to clear the cache for
`partitioned_routes` when adding a new route. We can move the
partitioning of the routes during setup time.
Diffstat (limited to 'actionpack/test/journey')
-rw-r--r-- | actionpack/test/journey/routes_test.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/actionpack/test/journey/routes_test.rb b/actionpack/test/journey/routes_test.rb index a4efc82b8c..6ff055af1d 100644 --- a/actionpack/test/journey/routes_test.rb +++ b/actionpack/test/journey/routes_test.rb @@ -3,6 +3,10 @@ require 'abstract_unit' module ActionDispatch module Journey class TestRoutes < ActiveSupport::TestCase + setup do + @routes = Routes.new + end + def test_clear routes = Routes.new exp = Router::Strexp.build '/foo(/:id)', {}, ['/.?'] @@ -36,6 +40,23 @@ module ActionDispatch assert_not_equal sim, routes.simulator end + def test_partition_route + path = Path::Pattern.from_string '/hello' + + anchored_route = @routes.add_route nil, path, {}, {}, {} + assert_equal [anchored_route], @routes.anchored_routes + assert_equal [], @routes.custom_routes + + strexp = Router::Strexp.build( + "/hello/:who", { who: /\d/ }, ['/', '.', '?'] + ) + path = Path::Pattern.new strexp + + custom_route = @routes.add_route nil, path, {}, {}, {} + assert_equal [custom_route], @routes.custom_routes + assert_equal [anchored_route], @routes.anchored_routes + end + def test_first_name_wins #def add_route app, path, conditions, defaults, name = nil routes = Routes.new |