Sha256: b529bdd244884a6580293aab06af4eb85a276b95ef2c2fedb871f725f0b7d1a3

Contents?: true

Size: 858 Bytes

Versions: 4

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.05
          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

4 entries across 4 versions & 2 rubygems

Version Path
tdiary-5.0.11 vendor/bundle/gems/capybara-3.12.0/lib/capybara/rspec/matchers/become_closed.rb
capybara-3.12.0 lib/capybara/rspec/matchers/become_closed.rb
capybara-3.11.1 lib/capybara/rspec/matchers/become_closed.rb
capybara-3.11.0 lib/capybara/rspec/matchers/become_closed.rb