diff options
author | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2008-05-24 23:06:53 +0000 |
---|---|---|
committer | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2008-05-24 23:06:53 +0000 |
commit | 45ff7b22b67123dd8345f3c50151e89cc91ce2b7 (patch) | |
tree | e85c8aa353e3e9f05e90ee8bf76a6593520e1b01 /test/unit/test_redirect_handler.rb | |
parent | f69f3602b11dc839bb09f8c783b5ec27c54694fd (diff) | |
parent | fa3f48f65222eb5591ef3dd9c05b6c958d564fa4 (diff) | |
download | unicorn-45ff7b22b67123dd8345f3c50151e89cc91ce2b7.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@1020 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test/unit/test_redirect_handler.rb')
-rw-r--r-- | test/unit/test_redirect_handler.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/test/unit/test_redirect_handler.rb b/test/unit/test_redirect_handler.rb new file mode 100644 index 0000000..e990427 --- /dev/null +++ b/test/unit/test_redirect_handler.rb @@ -0,0 +1,45 @@ +# Copyright (c) 2005 Zed A. Shaw +# You can redistribute it and/or modify it under the same terms as Ruby. +# +# Additional work donated by contributors. See http://mongrel.rubyforge.org/attributions.html +# for more information. + +require 'test/test_helper' + +class RedirectHandlerTest < Test::Unit::TestCase + + def setup + @port = process_based_port + redirect_test_io do + @server = Mongrel::HttpServer.new('127.0.0.1', @port) + end + @server.run + @client = Net::HTTP.new('127.0.0.1', @port) + end + + def teardown + @server.stop(true) + end + + def test_simple_redirect + tester = Mongrel::RedirectHandler.new('/yo') + @server.register("/test", tester) + + sleep(1) + res = @client.request_get('/test') + assert res != nil, "Didn't get a response" + assert_equal ['/yo'], res.get_fields('Location') + end + + def test_rewrite + tester = Mongrel::RedirectHandler.new(/(\w+)/, '+\1+') + @server.register("/test", tester) + + sleep(1) + res = @client.request_get('/test/something') + assert_equal ['/+test+/+something+'], res.get_fields('Location') + end + +end + + |