better support for when capybara-webkit isn't around
This commit is contained in:
parent
aba28d6961
commit
8b323fd1ff
|
@ -1,13 +1,31 @@
|
||||||
MAX_TIMES = 20
|
MAX_TIMES = 20
|
||||||
WAIT_TIME = 0.1
|
WAIT_TIME = 0.1
|
||||||
|
|
||||||
|
def _wait_for_exceptions
|
||||||
|
exceptions = [ Capybara::ElementNotFound ]
|
||||||
|
if defined?(Capybara::Driver::Webkit::Node::ElementNotDisplayedError)
|
||||||
|
exceptions << Capybara::Driver::Webkit::Node::ElementNotDisplayedError
|
||||||
|
end
|
||||||
|
|
||||||
|
exceptions
|
||||||
|
end
|
||||||
|
|
||||||
|
def _wait_for_not_exceptions
|
||||||
|
exceptions = [ Capybara::ElementNotFound ]
|
||||||
|
if defined?(Capybara::Driver::Webkit::NodeNotAttachedError)
|
||||||
|
exceptions << Capybara::Driver::Webkit::NodeNotAttachedError
|
||||||
|
end
|
||||||
|
|
||||||
|
exceptions
|
||||||
|
end
|
||||||
|
|
||||||
def wait_for(times = MAX_TIMES)
|
def wait_for(times = MAX_TIMES)
|
||||||
1.upto(times) do
|
1.upto(times) do
|
||||||
ok = false
|
ok = false
|
||||||
|
|
||||||
begin
|
begin
|
||||||
ok = yield
|
ok = yield
|
||||||
rescue Capybara::ElementNotFound, Capybara::Driver::Webkit::Node::ElementNotDisplayedError
|
rescue *_wait_for_exceptions
|
||||||
ok = false
|
ok = false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -30,7 +48,7 @@ def wait_for_not(times = MAX_TIMES)
|
||||||
|
|
||||||
begin
|
begin
|
||||||
yield
|
yield
|
||||||
rescue Capybara::Driver::Webkit::NodeNotAttachedError, Capybara::ElementNotFound
|
rescue *_wait_for_not_exceptions
|
||||||
ok = true
|
ok = true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue