lib/watir/after_hooks.rb in watir-6.10.0 vs lib/watir/after_hooks.rb in watir-6.10.1
- old
+ new
@@ -1,132 +1,132 @@
-module Watir
-
- #
- # After hooks are blocks that run after certain browser events.
- # They are generally used to ensure application under test does not encounter
- # any error and are automatically executed after following events:
- # 1. Open URL.
- # 2. Refresh page.
- # 3. Click, double-click or right-click on element.
- # 4. Alert closing.
- #
-
- class AfterHooks
- include Enumerable
-
- def initialize(browser)
- @browser = browser
- @after_hooks = []
- end
-
- #
- # Adds new after hook.
- #
- # @example
- # browser.after_hooks.add do |browser|
- # browser.text.include?("Server Error") and puts "Application exception or 500 error!"
- # end
- # browser.goto "watir.github.io/404"
- # "Application exception or 500 error!"
- #
- # @param [#call] after_hook Object responding to call
- # @yield after_hook block
- # @yieldparam [Watir::Browser]
- #
-
- def add(after_hook = nil, &block)
- if block_given?
- @after_hooks << block
- elsif after_hook.respond_to? :call
- @after_hooks << after_hook
- else
- raise ArgumentError, "expected block or object responding to #call"
- end
- end
- alias_method :<<, :add
-
- #
- # Deletes after hook.
- #
- # @example
- # browser.after_hooks.add do |browser|
- # browser.text.include?("Server Error") and puts "Application exception or 500 error!"
- # end
- # browser.goto "watir.github.io/404"
- # "Application exception or 500 error!"
- # browser.after_hooks.delete browser.after_hooks[0]
- # browser.refresh
- #
-
- def delete(after_hook)
- @after_hooks.delete(after_hook)
- end
-
- #
- # Runs after hooks.
- #
-
- def run
- if @after_hooks.any? && @browser.window.present? && !@browser.alert.exists?
- each { |after_hook| after_hook.call(@browser) }
- end
- end
-
- #
- # Executes a block without running error after hooks.
- #
- # @example
- # browser.after_hooks.without do |browser|
- # browser.element(name: "new_user_button").click
- # end
- #
- # @yield Block that is executed without after hooks being run
- # @yieldparam [Watir::Browser]
- #
-
- def without
- current_after_hooks = @after_hooks
- @after_hooks = []
- yield(@browser)
- ensure
- @after_hooks = current_after_hooks
- end
-
- #
- # Yields each after hook.
- #
- # @yieldparam [#call] after_hook Object responding to call
- #
-
- def each
- @after_hooks.each { |after_hook| yield after_hook }
- end
-
- #
- # Returns number of after hooks.
- #
- # @example
- # browser.after_hooks.add { puts 'Some after_hook.' }
- # browser.after_hooks.length
- # #=> 1
- #
- # @return [Integer]
- #
-
- def length
- @after_hooks.length
- end
- alias_method :size, :length
-
- #
- # Gets the after hook at the given index.
- #
- # @param [Integer] index
- # @return [#call]
- #
-
- def [](index)
- @after_hooks[index]
- end
-
- end # AfterHooks
-end # Watir
+module Watir
+
+ #
+ # After hooks are blocks that run after certain browser events.
+ # They are generally used to ensure application under test does not encounter
+ # any error and are automatically executed after following events:
+ # 1. Open URL.
+ # 2. Refresh page.
+ # 3. Click, double-click or right-click on element.
+ # 4. Alert closing.
+ #
+
+ class AfterHooks
+ include Enumerable
+
+ def initialize(browser)
+ @browser = browser
+ @after_hooks = []
+ end
+
+ #
+ # Adds new after hook.
+ #
+ # @example
+ # browser.after_hooks.add do |browser|
+ # browser.text.include?("Server Error") and puts "Application exception or 500 error!"
+ # end
+ # browser.goto "watir.github.io/404"
+ # "Application exception or 500 error!"
+ #
+ # @param [#call] after_hook Object responding to call
+ # @yield after_hook block
+ # @yieldparam [Watir::Browser]
+ #
+
+ def add(after_hook = nil, &block)
+ if block_given?
+ @after_hooks << block
+ elsif after_hook.respond_to? :call
+ @after_hooks << after_hook
+ else
+ raise ArgumentError, "expected block or object responding to #call"
+ end
+ end
+ alias_method :<<, :add
+
+ #
+ # Deletes after hook.
+ #
+ # @example
+ # browser.after_hooks.add do |browser|
+ # browser.text.include?("Server Error") and puts "Application exception or 500 error!"
+ # end
+ # browser.goto "watir.github.io/404"
+ # "Application exception or 500 error!"
+ # browser.after_hooks.delete browser.after_hooks[0]
+ # browser.refresh
+ #
+
+ def delete(after_hook)
+ @after_hooks.delete(after_hook)
+ end
+
+ #
+ # Runs after hooks.
+ #
+
+ def run
+ if @after_hooks.any? && @browser.window.present? && !@browser.alert.exists?
+ each { |after_hook| after_hook.call(@browser) }
+ end
+ end
+
+ #
+ # Executes a block without running error after hooks.
+ #
+ # @example
+ # browser.after_hooks.without do |browser|
+ # browser.element(name: "new_user_button").click
+ # end
+ #
+ # @yield Block that is executed without after hooks being run
+ # @yieldparam [Watir::Browser]
+ #
+
+ def without
+ current_after_hooks = @after_hooks
+ @after_hooks = []
+ yield(@browser)
+ ensure
+ @after_hooks = current_after_hooks
+ end
+
+ #
+ # Yields each after hook.
+ #
+ # @yieldparam [#call] after_hook Object responding to call
+ #
+
+ def each
+ @after_hooks.each { |after_hook| yield after_hook }
+ end
+
+ #
+ # Returns number of after hooks.
+ #
+ # @example
+ # browser.after_hooks.add { puts 'Some after_hook.' }
+ # browser.after_hooks.length
+ # #=> 1
+ #
+ # @return [Integer]
+ #
+
+ def length
+ @after_hooks.length
+ end
+ alias_method :size, :length
+
+ #
+ # Gets the after hook at the given index.
+ #
+ # @param [Integer] index
+ # @return [#call]
+ #
+
+ def [](index)
+ @after_hooks[index]
+ end
+
+ end # AfterHooks
+end # Watir