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