lib/watirspec.rb in watir-6.10.1 vs lib/watirspec.rb in watir-6.10.2

- old
+ new

@@ -1,86 +1,86 @@ -require "tmpdir" -require 'watirspec/guards' -require 'watirspec/implementation' -require 'watirspec/runner' -require 'watirspec/server' - -module WatirSpec - class << self - attr_accessor :browser_args, :unguarded, :implementation - - def htmls - @htmls ||= [File.expand_path("../../spec/watirspec/html", __FILE__)] - end - - def run! - load_support - WatirSpec::Runner.execute_if_necessary - end - - def url_for(str) - File.join(host, str) - end - - def host - @host ||= "http://#{Server.bind}:#{Server.port}" - end - - def unguarded? - @unguarded ||= false - end - - def load_support - root = File.expand_path("../../spec/watirspec", __FILE__) - Dir.glob("#{root}/support/**/*.rb").each do |file| - require file - end - end - - def implementation - @implementation ||= ( - imp = WatirSpec::Implementation.new - yield imp if block_given? - - imp - ) - end - - def implementation=(imp) - unless imp.is_a?(WatirSpec::Implementation) - raise TypeError, "expected WatirSpec::Implementation, got #{imp.class}" - end - - @implementation = imp - end - - def new_browser - klass = WatirSpec.implementation.browser_class - args = Array(WatirSpec.implementation.browser_args).map { |e| Hash === e ? e.dup : e } - - instance = klass.new(*args) - print_browser_info_once(instance) - - instance - end - - private - - def print_browser_info_once(instance) - return if defined?(@did_print_browser_info) && @did_print_browser_info - @did_print_browser_info = true - - info = [] - info << instance.class.name - - caps = instance.driver.capabilities - - info << "#{caps.browser_name}" - info << "#{caps.version}" - - Watir.logger.warn "running watirspec against #{info.join ' '} using:\n#{WatirSpec.implementation.inspect_args}" - rescue - # ignored - end - - end # class << WatirSpec -end # WatirSpec +require "tmpdir" +require 'watirspec/guards' +require 'watirspec/implementation' +require 'watirspec/runner' +require 'watirspec/server' + +module WatirSpec + class << self + attr_accessor :browser_args, :unguarded, :implementation + + def htmls + @htmls ||= [File.expand_path("../../spec/watirspec/html", __FILE__)] + end + + def run! + load_support + WatirSpec::Runner.execute_if_necessary + end + + def url_for(str) + File.join(host, str) + end + + def host + @host ||= "http://#{Server.bind}:#{Server.port}" + end + + def unguarded? + @unguarded ||= false + end + + def load_support + root = File.expand_path("../../spec/watirspec", __FILE__) + Dir.glob("#{root}/support/**/*.rb").each do |file| + require file + end + end + + def implementation + @implementation ||= ( + imp = WatirSpec::Implementation.new + yield imp if block_given? + + imp + ) + end + + def implementation=(imp) + unless imp.is_a?(WatirSpec::Implementation) + raise TypeError, "expected WatirSpec::Implementation, got #{imp.class}" + end + + @implementation = imp + end + + def new_browser + klass = WatirSpec.implementation.browser_class + args = Array(WatirSpec.implementation.browser_args).map { |e| Hash === e ? e.dup : e } + + instance = klass.new(*args) + print_browser_info_once(instance) + + instance + end + + private + + def print_browser_info_once(instance) + return if defined?(@did_print_browser_info) && @did_print_browser_info + @did_print_browser_info = true + + info = [] + info << instance.class.name + + caps = instance.driver.capabilities + + info << "#{caps.browser_name}" + info << "#{caps.version}" + + Watir.logger.warn "running watirspec against #{info.join ' '} using:\n#{WatirSpec.implementation.inspect_args}" + rescue + # ignored + end + + end # class << WatirSpec +end # WatirSpec