about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-02-08 17:14:41 -0800
committerEric Wong <normalperson@yhbt.net>2010-02-08 17:14:41 -0800
commit2dd3e22782090dc347429e306569f687fa794d06 (patch)
tree89dc09a023bb6a40a18859ae133491b7bbb0e332 /test
parent74ab49d2f02d65fb4d2915563d8b4c4f026e4657 (diff)
downloadclogger-2dd3e22782090dc347429e306569f687fa794d06.tar.gz
Clogger may set this value independently of "rack.multithread"
since Actor/Fiber-based servers may have multiple instances of
Clogger wrapping different response bodies and yet be
incompatible with "rack.multithread"
Diffstat (limited to 'test')
-rw-r--r--test/test_clogger.rb42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/test_clogger.rb b/test/test_clogger.rb
index 1906718..b086bbb 100644
--- a/test/test_clogger.rb
+++ b/test/test_clogger.rb
@@ -545,4 +545,46 @@ class TestClogger < Test::Unit::TestCase
     assert_equal :foo, body.close
   end
 
+  def test_clogger_auto_reentrant_true
+    s = ''
+    body = []
+    app = lambda { |env| [302, [ %w(a) ], body ] }
+    cl = Clogger.new(app, :logger => s, :format => "$request_time")
+    @req['rack.multithread'] = true
+    status, headers, body = cl.call(@req)
+    assert cl.reentrant?
+  end
+
+  def test_clogger_auto_reentrant_false
+    s = ''
+    body = []
+    app = lambda { |env| [302, [ %w(a) ], body ] }
+    cl = Clogger.new(app, :logger => s, :format => "$request_time")
+    @req['rack.multithread'] = false
+    status, headers, body = cl.call(@req)
+    assert ! cl.reentrant?
+  end
+
+  def test_clogger_auto_reentrant_forced_true
+    s = ''
+    body = []
+    app = lambda { |env| [302, [ %w(a) ], body ] }
+    o = { :logger => s, :format => "$request_time", :reentrant => true }
+    cl = Clogger.new(app, o)
+    @req['rack.multithread'] = false
+    status, headers, body = cl.call(@req)
+    assert cl.reentrant?
+  end
+
+  def test_clogger_auto_reentrant_forced_false
+    s = ''
+    body = []
+    app = lambda { |env| [302, [ %w(a) ], body ] }
+    o = { :logger => s, :format => "$request_time", :reentrant => false }
+    cl = Clogger.new(app, o)
+    @req['rack.multithread'] = true
+    status, headers, body = cl.call(@req)
+    assert ! cl.reentrant?
+  end
+
 end