diff options
author | Sam Saffron <sam.saffron@gmail.com> | 2012-09-05 12:59:52 +1000 |
---|---|---|
committer | Sam Saffron <sam.saffron@gmail.com> | 2012-09-05 12:59:52 +1000 |
commit | 5c230ffdf1b67f68b7fb120596d0fce9e6768c5a (patch) | |
tree | 6dba5d18e58788327d35847067a74092729cc751 /test/spec_lock.rb | |
parent | d084a14fc5be6587fb1720a4f126bae2c7e74d10 (diff) | |
download | rack-5c230ffdf1b67f68b7fb120596d0fce9e6768c5a.tar.gz |
- correct existing raise test
- amend it so rack lock releases the mutex on throws as well and raises
- added raise test
Diffstat (limited to 'test/spec_lock.rb')
-rw-r--r-- | test/spec_lock.rb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test/spec_lock.rb b/test/spec_lock.rb index 70f14461..bda77e93 100644 --- a/test/spec_lock.rb +++ b/test/spec_lock.rb @@ -134,11 +134,19 @@ describe Rack::Lock do should "unlock if the app raises" do lock = Lock.new env = Rack::MockRequest.env_for("/") - app = lock_app(lambda { raise Exception }) + app = lock_app(lambda { raise Exception }, lock) lambda { app.call(env) }.should.raise(Exception) lock.synchronized.should.equal false end + should "unlock if the app throws" do + lock = Lock.new + env = Rack::MockRequest.env_for("/") + app = lock_app(lambda {|env| throw :bacon }, lock) + lambda { app.call(env) }.should.throw(:bacon) + lock.synchronized.should.equal false + end + should "set multithread flag to false" do app = lock_app(lambda { |env| env['rack.multithread'].should.equal false |