mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
Test session resetting scopes
This commit is contained in:
parent
6a34f8d6dd
commit
d1aad55ff3
2 changed files with 29 additions and 0 deletions
|
@ -95,6 +95,19 @@ Capybara::SpecHelper.spec '#reset_session!' do
|
|||
expect(@session.windows.size).to eq 1
|
||||
end
|
||||
|
||||
it 'does not block opening a new window after a frame was switched to and not switched back', requires: [:windows] do
|
||||
@session.visit('/with_iframe?id=test_iframe&url=/')
|
||||
@session.switch_to_frame(@session.find(:frame, 'test_iframe'))
|
||||
within_window_test = lambda do
|
||||
@session.within_window(@session.open_new_window) do
|
||||
@session.visit('/')
|
||||
end
|
||||
end
|
||||
expect(&within_window_test).to raise_error(Capybara::ScopeError)
|
||||
@session.reset_session!
|
||||
expect(&within_window_test).not_to raise_error
|
||||
end
|
||||
|
||||
context 'When reuse_server == false' do
|
||||
let!(:orig_reuse_server) { Capybara.reuse_server }
|
||||
|
||||
|
|
|
@ -177,6 +177,22 @@ class TestApp < Sinatra::Base
|
|||
HTML
|
||||
end
|
||||
|
||||
get '/with_iframe' do
|
||||
<<-HTML
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
|
||||
<title>Test with Iframe</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<iframe src="#{params[:url]}" id="#{params[:id]}"></iframe>
|
||||
</body>
|
||||
</html>
|
||||
HTML
|
||||
end
|
||||
|
||||
get '/base/with_base' do
|
||||
<<-HTML
|
||||
<!DOCTYPE html>
|
||||
|
|
Loading…
Reference in a new issue