Sha256: 7d3dfc70d1d93f719887d2cb323a58fc15f31307e9ec99c927fd1271f908f16d

Contents?: true

Size: 858 Bytes

Versions: 104

Compression:

Stored size: 858 Bytes

Contents

# 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

Version data entries

104 entries across 91 versions & 6 rubygems

Version Path
capybara-3.14.0 lib/capybara/rspec/matchers/become_closed.rb
capybara-3.13.2 lib/capybara/rspec/matchers/become_closed.rb
capybara-3.13.1 lib/capybara/rspec/matchers/become_closed.rb
capybara-3.13.0 lib/capybara/rspec/matchers/become_closed.rb