lib/watirsplash/browser.rb in watirsplash-2.3.2 vs lib/watirsplash/browser.rb in watirsplash-2.4.0

- old
+ new

@@ -8,11 +8,11 @@ if error_message && !error_message.empty? browser.execute_script "window.__browserErrorMessage = undefined" raise JavaScriptError, "JavaScript error: #{error_message}" end - + browser.execute_script %q[ if (!window.onErrorFn) { window.onErrorFn = function(errorMsg, url, lineNumber) { window.__browserErrorMessage = errorMsg + " @ " + url + ":" + lineNumber; @@ -24,24 +24,43 @@ window.__onErrorFn = window.onerror; window.onerror = window.onErrorFn; }] end - + class << self attr_accessor :current def new prepare Watir::Browser.new end + def exist? + current && current.exists? + end + + alias_method :exists?, :exist? + private def prepare browser self.current = browser browser.add_checker JAVASCRIPT_ERRORS_CHECKER browser + end + + def method_missing name, *args + if current.respond_to?(name) + instance_eval %Q[ + def #{name}(*args) + current.send(:#{name}, *args) {yield} + end + ] + send(name, *args) {yield} + else + super + end end end end end