1
0
Fork 0
mirror of https://github.com/teamcapybara/capybara.git synced 2022-11-09 12:08:07 -05:00
teamcapybara--capybara/lib/capybara/rspec/matchers/become_closed.rb
2019-01-15 11:35:08 -08:00

33 lines
858 B
Ruby

# frozen_string_literal: true
module Capybara
module RSpecMatchers
module Matchers
class BecomeClosed
def initialize(options)
@options = options
end
def matches?(window)
@window = window
@wait_time = Capybara::Queries::BaseQuery.wait(@options, window.session.config.default_max_wait_time)
timer = Capybara::Helpers.timer(expire_in: @wait_time)
while window.exists?
return false if timer.expired?
sleep 0.01
end
true
end
def failure_message
"expected #{@window.inspect} to become closed after #{@wait_time} seconds"
end
def failure_message_when_negated
"expected #{@window.inspect} not to become closed after #{@wait_time} seconds"
end
end
end
end
end