class Object

Public Instance Methods

alphabetize_names(filename) click to toggle source
# File lib/sim/support/rspec_util.rb, line 5
def alphabetize_names(filename)
  example.metadata[:snapshot_count] + '-' + filename
end
dealphabetize_names(filename) click to toggle source
# File lib/sim/support/rspec_util.rb, line 9
def dealphabetize_names(filename)
  filename[4..filename.length]
end
is_cucumber() click to toggle source

that’s okay for now since loading logic for rspec doesn’t hurt a cucumber run and vice versa

# File lib/sim/support/sim_util.rb, line 8
def is_cucumber()
  respond_to? :After
end
is_rspec() click to toggle source
# File lib/sim/support/sim_util.rb, line 12
def is_rspec()
  RSpec.respond_to? :configure
end
path_of_example_groups(example, desc) click to toggle source
# File lib/sim/support/rspec_util.rb, line 49
def path_of_example_groups(example, desc)
  # metadata maintains example_group structure as nested example_groups from inner to outer
  # so we build array from inner to outer and then reverse it
  groups = []
  groups << desc
  current_group = example.metadata[:example_group]
  while (!current_group.nil?) do
    groups << current_group[:description]
    current_group = current_group[:example_group]
  end

  groups << Sim.base_screenshot_dir

  groups.reverse.join('/')
  
end
path_to_screenshot(example) click to toggle source
# File lib/sim/support/rspec_util.rb, line 40
def path_to_screenshot(example)
  if example.metadata[:screenshot_path]
    return example.metadata[:screenshot_path]
  end
        desc = example.metadata[:description_args].empty? ? example.metadata[:id] : example.metadata[:description_args].first.gsub('"',"'").gsub('|', '')
        example.metadata[:screenshot_path] = path_of_example_groups(example, desc)
  example.metadata[:screenshot_path]
end
path_to_tmp(example) click to toggle source
# File lib/sim/support/rspec_util.rb, line 32
def path_to_tmp(example)
  if example.metadata[:tmp_path]
    return example.metadata[:tmp_path]
  end
  example.metadata[:tmp_path] = path_to_screenshot(example)
  example.metadata[:tmp_path]
end
quit() click to toggle source
# File lib/sim/fail_fast.rb, line 17
def quit
  puts "preventing browser close"
  #STDOUT.puts "#{self.class}#quit: no-op"
end
reset!() click to toggle source
# File lib/sim/fail_fast.rb, line 33
def reset!
  puts "preventing reset to about page"
end
save_html_to_file(example, filename) click to toggle source
# File lib/sim/support/rspec_util.rb, line 24
def save_html_to_file(example, filename)
  File.open("#{path_to_tmp(example)}/#{filename}.html", 'w') {|f| f.write(page.html) }
end
save_screenshot_to_file(example, filename) click to toggle source
# File lib/sim/support/rspec_util.rb, line 28
def save_screenshot_to_file(example, filename)
  page.save_screenshot("#{path_to_tmp(example)}/#{filename}.png")
end
save_snapshot(example,filename) click to toggle source
# File lib/sim/support/rspec_util.rb, line 13
def save_snapshot(example,filename)

    ordered_filename = alphabetize_names(filename)
    save_html_to_file(example, ordered_filename)

    if example.metadata[:js]
      save_screenshot_to_file(example, ordered_filename)
    end
    example.metadata[:snapshot_count] = (example.metadata[:snapshot_count].to_i + 1).to_s.rjust($filename_padding, '0')
end
set_app_address() click to toggle source
# File lib/sim/remote.rb, line 9
def set_app_address()
    require 'system/getifaddrs'
    ip = $webserver_ip != nil ? $webserver_ip : System.get_ifaddrs.find{ |socket| socket[1][:inet_addr] != "127.0.0.1" } [1][:inet_addr]
    port = $webserver_port != nil ? $webserver_port : Capybara.current_session.server.port
    Capybara.app_host = "http://#{ip}:#{port}"
    puts "Registering http://#{ip}:#{port} as root server"
end
set_local_config() click to toggle source
# File lib/sim/local.rb, line 8
def set_local_config()
  # Capybara local run
  Capybara.javascript_driver = :selenium
  Capybara.default_driver = :selenium
  Capybara.register_driver :selenium do |app|
        Capybara::Selenium::Driver.new(app, :browser => :chrome)
  end
end
set_local_phantomjs_config() click to toggle source
# File lib/sim/local_phantomjs.rb, line 8
def set_local_phantomjs_config()
  # Capybara local phantomjs
  # Capybara.default_driver = :poltergeist
  Capybara.javascript_driver = :poltergeist
end
stop() click to toggle source
# File lib/sim/fail_fast.rb, line 25
def stop
  puts "preventing ChromeDriver stop"
  #STDOUT.puts "#{self.class}#stop: no-op"
end