mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
using_session should be nestable
This commit is contained in:
parent
063e4a971d
commit
1016d2cd18
2 changed files with 14 additions and 2 deletions
|
@ -275,10 +275,11 @@ module Capybara
|
|||
# Yield a block using a specific session name.
|
||||
#
|
||||
def using_session(name)
|
||||
previous_session_name = self.session_name
|
||||
self.session_name = name
|
||||
yield
|
||||
ensure
|
||||
self.session_name = :default
|
||||
self.session_name = previous_session_name
|
||||
end
|
||||
|
||||
##
|
||||
|
|
|
@ -137,7 +137,7 @@ RSpec.describe Capybara::DSL do
|
|||
Capybara.using_wait_time 6 do
|
||||
raise "hell"
|
||||
end
|
||||
end.to raise_error
|
||||
end.to raise_error(RuntimeError, "hell")
|
||||
expect(Capybara.default_max_wait_time).to eq(@previous_wait_time)
|
||||
end
|
||||
end
|
||||
|
@ -219,6 +219,17 @@ RSpec.describe Capybara::DSL do
|
|||
Capybara.using_session(:administrator) { called = true }
|
||||
expect(called).to eq(true)
|
||||
end
|
||||
|
||||
it "should be nestable" do
|
||||
Capybara.using_session(:outer) do
|
||||
expect(Capybara.session_name).to eq(:outer)
|
||||
Capybara.using_session(:inner) do
|
||||
expect(Capybara.session_name).to eq(:inner)
|
||||
end
|
||||
expect(Capybara.session_name).to eq(:outer)
|
||||
end
|
||||
expect(Capybara.session_name).to eq(:default)
|
||||
end
|
||||
end
|
||||
|
||||
describe "#session_name" do
|
||||
|
|
Loading…
Add table
Reference in a new issue