Sha256: cbe5f462e1257f668fb656162752dfc83e28d518653dd9345c66b3cc6226886c

Contents?: true

Size: 833 Bytes

Versions: 37

Compression:

Stored size: 833 Bytes

Contents

# encoding: utf-8

module Watir
  module Wait
    extend self

    class TimeoutError < StandardError
    end

    #
    # Wait until the block evaluates to true or times out.
    #

    def until(timeout = 60, &block)
      end_time = ::Time.now + timeout

      until ::Time.now > end_time
        result = yield(self)
        return result if result
        sleep 0.1
      end

      raise TimeoutError, "timed out after #{timeout} seconds"
    end

    #
    # Wait while the block evaluates to true or times out.
    #
    def while(timeout = 60, &block)
      end_time = ::Time.now + timeout

      until ::Time.now > end_time
        return unless yield(self)
        sleep 0.1
      end

      raise TimeoutError, "timed out after #{timeout} seconds"
    end

  end # Wait
end # Watir

Version data entries

37 entries across 37 versions & 2 rubygems

Version Path
watir-classic-3.3.0 lib/watir-classic/wait.rb
watir-classic-3.2.0 lib/watir-classic/wait.rb
watir-classic-3.2.0.rc1 lib/watir-classic/wait.rb
watir-classic-3.1.0 lib/watir-classic/wait.rb
watir-classic-3.0.0 lib/watir-classic/wait.rb
commonwatir-3.0.0.rc3 lib/watir/wait.rb
commonwatir-3.0.0.rc2 lib/watir/wait.rb
commonwatir-3.0.0.rc1 lib/watir/wait.rb
commonwatir-2.0.4 lib/watir/wait.rb
commonwatir-2.0.3 lib/watir/wait.rb
commonwatir-2.0.2 lib/watir/wait.rb
commonwatir-2.0.2.rc1 lib/watir/wait.rb
commonwatir-2.0.1 lib/watir/wait.rb
commonwatir-2.0.0 lib/watir/wait.rb
commonwatir-2.0.0.rc3 lib/watir/wait.rb
commonwatir-2.0.0.rc2 lib/watir/wait.rb
commonwatir-1.9.2 lib/watir/wait.rb
commonwatir-1.9.2.rc1 lib/watir/wait.rb
commonwatir-1.9.1 lib/watir/wait.rb
commonwatir-1.9.1.rc1 lib/watir/wait.rb