From e9777ef62e95be79fee01fea9e7420726d5ff792 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Mon, 17 Aug 2015 13:29:54 -0700 Subject: default pattern to use a joined string The string we create is almost always the same, so rather than joining all the time, lets join once, then reuse that string everywhere. --- actionpack/test/journey/path/pattern_test.rb | 26 ++++++++++++++------------ actionpack/test/journey/route_test.rb | 2 +- 2 files changed, 15 insertions(+), 13 deletions(-) (limited to 'actionpack/test/journey') diff --git a/actionpack/test/journey/path/pattern_test.rb b/actionpack/test/journey/path/pattern_test.rb index 7b97379bd5..72858f5eda 100644 --- a/actionpack/test/journey/path/pattern_test.rb +++ b/actionpack/test/journey/path/pattern_test.rb @@ -4,6 +4,8 @@ module ActionDispatch module Journey module Path class TestPattern < ActiveSupport::TestCase + SEPARATORS = ["/", ".", "?"].join + x = /.+/ { '/:controller(/:action)' => %r{\A/(#{x})(?:/([^/.?]+))?\Z}, @@ -22,7 +24,7 @@ module ActionDispatch path = Pattern.build( path, { :controller => /.+/ }, - ["/", ".", "?"], + SEPARATORS, true ) assert_equal(expected, path.to_regexp) @@ -46,7 +48,7 @@ module ActionDispatch path = Pattern.build( path, { :controller => /.+/ }, - ["/", ".", "?"], + SEPARATORS, false ) assert_equal(expected, path.to_regexp) @@ -69,7 +71,7 @@ module ActionDispatch path = Pattern.build( path, { :controller => /.+/ }, - ["/", ".", "?"], + SEPARATORS, true ) assert_equal(expected, path.names) @@ -84,7 +86,7 @@ module ActionDispatch (tender|love #MAO )/x }, - ["/", ".", "?"], + SEPARATORS, true ) assert_match(path, '/page/tender') @@ -107,7 +109,7 @@ module ActionDispatch path = Pattern.build( '/:name', { :name => /\d+/ }, - ["/", ".", "?"], + SEPARATORS, true ) assert_match(path, '/123') @@ -118,7 +120,7 @@ module ActionDispatch path = Pattern.build( '/page/:name', { :name => /(tender|love)/ }, - ["/", ".", "?"], + SEPARATORS, true ) assert_match(path, '/page/tender') @@ -131,7 +133,7 @@ module ActionDispatch path = Pattern.build( '/page/:name/:value', requirements, - ["/", ".", "?"], + SEPARATORS, true ) @@ -146,7 +148,7 @@ module ActionDispatch path = Pattern.build( '/page/:name', { :name => /(tender|love)/ }, - ["/", ".", "?"], + SEPARATORS, true ) match = path.match '/page/tender' @@ -158,7 +160,7 @@ module ActionDispatch path = Pattern.build( '/page/:name/:id', { :name => /t(((ender|love)))()/ }, - ["/", ".", "?"], + SEPARATORS, true ) match = path.match '/page/tender/10' @@ -173,7 +175,7 @@ module ActionDispatch path = Pattern.build( '/page/*foo', { :foo => z }, - ["/", ".", "?"], + SEPARATORS, true ) assert_equal(%r{\A/page/(#{z})\Z}, path.to_regexp) @@ -183,7 +185,7 @@ module ActionDispatch path = Pattern.build( '/page/:name/aaron', { :name => /(tender|love)/i }, - ["/", ".", "?"], + SEPARATORS, true ) assert_match(path, '/page/TENDER/aaron') @@ -192,7 +194,7 @@ module ActionDispatch end def test_to_regexp_with_strexp - path = Pattern.build('/:controller', { }, ["/", ".", "?"], true) + path = Pattern.build('/:controller', { }, SEPARATORS, true) x = %r{\A/([^/.?]+)\Z} assert_equal(x.source, path.source) diff --git a/actionpack/test/journey/route_test.rb b/actionpack/test/journey/route_test.rb index cdd59a3316..75e41193b4 100644 --- a/actionpack/test/journey/route_test.rb +++ b/actionpack/test/journey/route_test.rb @@ -26,7 +26,7 @@ module ActionDispatch end def test_path_requirements_override_defaults - path = Path::Pattern.build(':name', { name: /love/ }, ['/'], true) + path = Path::Pattern.build(':name', { name: /love/ }, '/', true) defaults = { name: 'tender' } route = Route.new('name', nil, path, nil, [], defaults) assert_equal(/love/, route.requirements[:name]) -- cgit v1.2.3