diff options
Diffstat (limited to 'actionpack/test/journey/routes_test.rb')
-rw-r--r-- | actionpack/test/journey/routes_test.rb | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/actionpack/test/journey/routes_test.rb b/actionpack/test/journey/routes_test.rb index a4efc82b8c..f8293dfc5f 100644 --- a/actionpack/test/journey/routes_test.rb +++ b/actionpack/test/journey/routes_test.rb @@ -3,50 +3,57 @@ require 'abstract_unit' module ActionDispatch module Journey class TestRoutes < ActiveSupport::TestCase - def test_clear - routes = Routes.new - exp = Router::Strexp.build '/foo(/:id)', {}, ['/.?'] - path = Path::Pattern.new exp - requirements = { :hello => /world/ } + attr_reader :routes, :mapper + + def setup + @route_set = ActionDispatch::Routing::RouteSet.new + @routes = @route_set.router.routes + @router = @route_set.router + @mapper = ActionDispatch::Routing::Mapper.new @route_set + super + end - routes.add_route nil, path, requirements, {:id => nil}, {} + def test_clear + mapper.get "/foo(/:id)", to: "foo#bar", as: 'aaron' + assert_not_predicate routes, :empty? assert_equal 1, routes.length routes.clear + assert routes.empty? assert_equal 0, routes.length end def test_ast - routes = Routes.new - path = Path::Pattern.from_string '/hello' - - routes.add_route nil, path, {}, {}, {} + mapper.get "/foo(/:id)", to: "foo#bar", as: 'aaron' ast = routes.ast - routes.add_route nil, path, {}, {}, {} + mapper.get "/foo(/:id)", to: "foo#bar", as: 'gorby' assert_not_equal ast, routes.ast end def test_simulator_changes - routes = Routes.new - path = Path::Pattern.from_string '/hello' - - routes.add_route nil, path, {}, {}, {} + mapper.get "/foo(/:id)", to: "foo#bar", as: 'aaron' sim = routes.simulator - routes.add_route nil, path, {}, {}, {} + mapper.get "/foo(/:id)", to: "foo#bar", as: 'gorby' assert_not_equal sim, routes.simulator end - def test_first_name_wins - #def add_route app, path, conditions, defaults, name = nil - routes = Routes.new + def test_partition_route + mapper.get "/foo(/:id)", to: "foo#bar", as: 'aaron' + + assert_equal 1, @routes.anchored_routes.length + assert_predicate @routes.custom_routes, :empty? - one = Path::Pattern.from_string '/hello' - two = Path::Pattern.from_string '/aaron' + mapper.get "/hello/:who", to: "foo#bar", as: 'bar', who: /\d/ - routes.add_route nil, one, {}, {}, 'aaron' - routes.add_route nil, two, {}, {}, 'aaron' + assert_equal 1, @routes.custom_routes.length + assert_equal 1, @routes.anchored_routes.length + end - assert_equal '/hello', routes.named_routes['aaron'].path.spec.to_s + def test_first_name_wins + mapper.get "/hello", to: "foo#bar", as: 'aaron' + assert_raise(ArgumentError) do + mapper.get "/aaron", to: "foo#bar", as: 'aaron' + end end end end |