diff options
Diffstat (limited to 'railties/test/webrick_dispatcher_test.rb')
-rw-r--r-- | railties/test/webrick_dispatcher_test.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/railties/test/webrick_dispatcher_test.rb b/railties/test/webrick_dispatcher_test.rb new file mode 100644 index 0000000000..2c6b51ae62 --- /dev/null +++ b/railties/test/webrick_dispatcher_test.rb @@ -0,0 +1,30 @@ +#!/bin/env ruby + +$:.unshift(File.dirname(__FILE__) + "/../lib") + +require 'test/unit' +require 'webrick_server' + +class ParseUriTest < Test::Unit::TestCase + + def test_parse_uri_old_behavior + assert_equal [true, 'forum', 'index', '1'], DispatchServlet.parse_uri('/forum/index/1') + assert_equal [true, 'forum', 'index', nil], DispatchServlet.parse_uri('/forum/index') + assert_equal [true, 'forum', 'index', nil], DispatchServlet.parse_uri('/forum/') + end + + def test_parse_uri_new_behavior + assert_equal [true, 'forum', 'index', '1'], DispatchServlet.parse_uri('/forum/index/1/') + assert_equal [true, 'forum', 'index', nil], DispatchServlet.parse_uri('/forum/index/') + assert_equal [true, 'forum', 'index', nil], DispatchServlet.parse_uri('/forum') + end + + def test_parse_uri_failures + assert_equal [false, nil, nil, nil], DispatchServlet.parse_uri('/') + assert_equal [false, nil, nil, nil], DispatchServlet.parse_uri('a') + assert_equal [false, nil, nil, nil], DispatchServlet.parse_uri('/forum//') + assert_equal [false, nil, nil, nil], DispatchServlet.parse_uri('/+forum/') + assert_equal [false, nil, nil, nil], DispatchServlet.parse_uri('forum/') + end + +end |