From ab37f2d65b01370ae975346110471f33b10bd178 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 6 Jan 2010 17:23:13 -0800 Subject: ext: unpack response arrays unconditionally It's too crazy to have to special case for frozen response constants. 3-element arrays are cheap under Ruby 1.9 anyways. --- test/test_clogger.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'test') diff --git a/test/test_clogger.rb b/test/test_clogger.rb index 215256c..1906718 100644 --- a/test/test_clogger.rb +++ b/test/test_clogger.rb @@ -517,6 +517,22 @@ class TestClogger < Test::Unit::TestCase assert_nil body.close end + def test_clogger_response_frozen + response = [ 200, { "AAAA" => "AAAA"}.freeze, [].freeze ].freeze + s = StringIO.new("") + app = Rack::Builder.new do + use Clogger, :logger => s, :format => "$request_time $http_host" + run lambda { |env| response } + end + assert_nothing_raised do + 3.times do + resp = app.call(@req) + assert ! resp.frozen? + resp.last.each { |x| } + end + end + end + def test_clogger_body_close_return_value s = '' body = [] -- cgit v1.2.3-24-ge0c7