diff options
author | Emilio Tagua <miloops@gmail.com> | 2009-07-31 16:21:07 -0300 |
---|---|---|
committer | Emilio Tagua <miloops@gmail.com> | 2009-07-31 16:21:07 -0300 |
commit | 3de59e916d6a3d4eab202cf0c99b1f88905a3b43 (patch) | |
tree | def6d6a808ebe187be1f37f8a739fd786cc11f02 /railties/test/metal_test.rb | |
parent | c1cbf02e3170f1004daf4a146cbc41176c2458d3 (diff) | |
parent | 62fd1d3716b4b5fd1d91cdcc77003efe80fc5a7e (diff) | |
download | rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.tar.gz rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.tar.bz2 rails-3de59e916d6a3d4eab202cf0c99b1f88905a3b43.zip |
Merge commit 'rails/master'
Conflicts:
activerecord/lib/active_record/associations.rb
Diffstat (limited to 'railties/test/metal_test.rb')
-rw-r--r-- | railties/test/metal_test.rb | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/railties/test/metal_test.rb b/railties/test/metal_test.rb index d3d231132b..c79a819a76 100644 --- a/railties/test/metal_test.rb +++ b/railties/test/metal_test.rb @@ -55,8 +55,38 @@ class MetalTest < Test::Unit::TestCase assert_equal(["FooMetal", "EngineMetal"], found_metals_as_string_array) end end + + def test_metal_default_pass_through_on_404 + use_appdir("multiplemetals") do + result = Rails::Rack::Metal.new(app).call({}) + assert_equal 200, result.first + assert_equal ["Metal B"], result.last + end + end + + def test_metal_pass_through_on_417 + use_appdir("multiplemetals") do + Rails::Rack::Metal.pass_through_on = 417 + result = Rails::Rack::Metal.new(app).call({}) + assert_equal 404, result.first + assert_equal ["Metal A"], result.last + end + end + + def test_metal_pass_through_on_404_and_200 + use_appdir("multiplemetals") do + Rails::Rack::Metal.pass_through_on = [404, 200] + result = Rails::Rack::Metal.new(app).call({}) + assert_equal 402, result.first + assert_equal ["End of the Line"], result.last + end + end private + + def app + lambda{[402,{},["End of the Line"]]} + end def use_appdir(root) dir = "#{File.dirname(__FILE__)}/fixtures/metal/#{root}" |