diff options
Diffstat (limited to 'actionpack/test/journey/routes_test.rb')
-rw-r--r-- | actionpack/test/journey/routes_test.rb | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/actionpack/test/journey/routes_test.rb b/actionpack/test/journey/routes_test.rb index 6853cefc01..01566f0148 100644 --- a/actionpack/test/journey/routes_test.rb +++ b/actionpack/test/journey/routes_test.rb @@ -3,16 +3,24 @@ require 'abstract_unit' module ActionDispatch module Journey class TestRoutes < ActiveSupport::TestCase - setup do + attr_reader :routes + + def setup @routes = Routes.new + super + end + + MyMapping = Struct.new(:application, :path, :conditions, :required_defaults, :defaults) + + def add_route(app, path, conditions, required_defaults, defaults, name = nil) + @routes.add_route(name, MyMapping.new(app, path, conditions, required_defaults, defaults)) end def test_clear - routes = Routes.new path = Path::Pattern.build '/foo(/:id)', {}, ['/.?'], true requirements = { :hello => /world/ } - routes.add_route nil, path, requirements, [], {:id => nil}, {} + add_route nil, path, requirements, [], {:id => nil}, {} assert_not routes.empty? assert_equal 1, routes.length @@ -22,29 +30,27 @@ module ActionDispatch end def test_ast - routes = Routes.new path = Path::Pattern.from_string '/hello' - routes.add_route nil, path, {}, [], {}, {} + add_route nil, path, {}, [], {}, {} ast = routes.ast - routes.add_route nil, path, {}, [], {}, {} + add_route nil, path, {}, [], {}, {} 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, {}, [], {}, {} + add_route nil, path, {}, [], {}, {} sim = routes.simulator - routes.add_route nil, path, {}, [], {}, {} + add_route nil, path, {}, [], {}, {} assert_not_equal sim, routes.simulator end def test_partition_route path = Path::Pattern.from_string '/hello' - anchored_route = @routes.add_route nil, path, {}, [], {}, {} + anchored_route = add_route nil, path, {}, [], {}, {} assert_equal [anchored_route], @routes.anchored_routes assert_equal [], @routes.custom_routes @@ -52,19 +58,17 @@ module ActionDispatch "/hello/:who", { who: /\d/ }, ['/', '.', '?'], false ) - custom_route = @routes.add_route nil, path, {}, [], {}, {} + custom_route = add_route nil, path, {}, [], {}, {} assert_equal [custom_route], @routes.custom_routes assert_equal [anchored_route], @routes.anchored_routes end def test_first_name_wins - routes = Routes.new - one = Path::Pattern.from_string '/hello' two = Path::Pattern.from_string '/aaron' - routes.add_route nil, one, {}, [], {}, 'aaron' - routes.add_route nil, two, {}, [], {}, 'aaron' + add_route nil, one, {}, [], {}, 'aaron' + add_route nil, two, {}, [], {}, 'aaron' assert_equal '/hello', routes.named_routes['aaron'].path.spec.to_s end |