lib/watir/wait.rb in watir-6.0.3 vs lib/watir/wait.rb in watir-6.1.0
- old
+ new
@@ -27,24 +27,24 @@
# Waits until the block evaluates to true or times out.
#
# @example
# Watir::Wait.until { browser.text_field(name: "new_user_first_name").visible? }
#
- # @param [Fixnum] timeout How long to wait in seconds
+ # @param [Integer] timeout How long to wait in seconds
# @param [String] message Message to raise if timeout is exceeded
# @param [Object, NilClass] object Object to evaluate block against
# @raise [TimeoutError] if timeout is exceeded
#
- def until(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, object: nil)
+ def until(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, interval: nil, object: nil)
if deprecated_message || deprecated_timeout
warn "Instead of passing arguments into Wait#until method, use keywords"
timeout = deprecated_timeout
message = deprecated_message
end
timeout ||= Watir.default_timeout
- run_with_timer(timeout) do
+ run_with_timer(timeout, interval) do
result = yield(object)
return result if result
end
raise TimeoutError, message_for(timeout, message)
end
@@ -53,24 +53,24 @@
# Wait while the block evaluates to true or times out.
#
# @example
# Watir::Wait.while { browser.text_field(name: "abrakadbra").present? }
#
- # @param [Fixnum] timeout How long to wait in seconds
+ # @param [Integer] timeout How long to wait in seconds
# @param [String] message Message to raise if timeout is exceeded
# @param [Object, NilClass] object Object to evaluate block against
# @raise [TimeoutError] if timeout is exceeded
#
- def while(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, object: nil)
+ def while(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, interval: nil, object: nil)
if deprecated_message || deprecated_timeout
warn "Instead of passing arguments into Wait#while method, use keywords"
timeout = deprecated_timeout
message = deprecated_message
end
timeout ||= Watir.default_timeout
- run_with_timer(timeout) { return unless yield(object) }
+ run_with_timer(timeout, interval) { return unless yield(object) }
raise TimeoutError, message_for(timeout, message)
end
private
@@ -79,17 +79,17 @@
err << ", #{message}" if message
err
end
- def run_with_timer(timeout, &block)
+ def run_with_timer(timeout, interval, &block)
if timeout.zero?
block.call
else
timer.wait(timeout) do
block.call
- sleep INTERVAL
+ sleep interval || INTERVAL
end
end
end
end # self
@@ -109,22 +109,22 @@
# @example
# browser.text_field(name: "new_user_first_name").wait_until(&:present?).click
# browser.text_field(name: "new_user_first_name").wait_until(message: 'foo') { |field| field.present? }
# browser.text_field(name: "new_user_first_name").wait_until(timeout: 60, &:present?)
#
- # @param [Fixnum] timeout seconds to wait before timing out
+ # @param [Integer] timeout seconds to wait before timing out
# @param [String] message error message for when times out
#
- def wait_until(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, &blk)
+ def wait_until(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, interval: nil, &blk)
if deprecated_message || deprecated_timeout
warn "Instead of passing arguments into #wait_until, use keywords"
timeout = deprecated_timeout
message = deprecated_message
end
message ||= "waiting for true condition on #{selector_string}"
- Wait.until(timeout: timeout, message: message, object: self, &blk)
+ Wait.until(timeout: timeout, message: message, interval: interval, object: self, &blk)
self
end
#
@@ -135,52 +135,52 @@
# !browser.exists?
# end
#
# @todo add element example
#
- # @param [Fixnum] timeout seconds to wait before timing out
+ # @param [Integer] timeout seconds to wait before timing out
# @param [String] message error message for when times out
#
- def wait_while(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, &blk)
+ def wait_while(deprecated_timeout = nil, deprecated_message = nil, timeout: nil, message: nil, interval: nil, &blk)
if deprecated_message || deprecated_timeout
warn "Instead of passing arguments into #wait_while method, use keywords"
timeout = deprecated_timeout
message = deprecated_message
end
message ||= "waiting for false condition on #{selector_string}"
- Wait.while(timeout: timeout, message: message, object: self, &blk)
+ Wait.while(timeout: timeout, message: message, interval: interval, object: self, &blk)
self
end
#
# Waits until the element is present.
#
# @example
# browser.text_field(name: "new_user_first_name").wait_until_present
#
- # @param [Fixnum] timeout seconds to wait before timing out
+ # @param [Integer] timeout seconds to wait before timing out
#
# @see Watir::Wait
# @see Watir::Element#present?
#
- def wait_until_present(deprecated_timeout = nil, timeout: nil)
+ def wait_until_present(deprecated_timeout = nil, timeout: nil, interval: nil)
if deprecated_timeout
warn "Instead of passing arguments into #wait_until_present method, use keywords"
timeout = deprecated_timeout
end
- wait_until(timeout: timeout, &:present?)
+ wait_until(timeout: timeout, interval: interval, &:present?)
end
#
# Waits while the element is present.
#
# @example
# browser.text_field(name: "abrakadbra").wait_while_present
#
- # @param [Fixnum] timeout seconds to wait before timing out
+ # @param [Integer] timeout seconds to wait before timing out
#
# @see Watir::Wait
# @see Watir::Element#present?
#