Sha256: 48dc838dcf2104301665ff40c8b7532dc63f5e5e31660b0c2ca4498a17454165

Contents?: true

Size: 1.92 KB

Versions: 4

Compression:

Stored size: 1.92 KB

Contents

require 'watir'
require 'watirspec'

#
# 1. If example does not start browser, start new one, reuse until example
#    finishes and close after.
# 2. If example starts browser and assigns it to local variable `browser`,
#    it will still be closed.
#

def browser
  @browser ||= begin
    opts = {}
    opts[:args] = ['--no-sandbox'] if ENV['TRAVIS']

    browser = Watir::Browser.new(:chrome, opts)
    browser.goto WatirSpec.url_for('forms_with_input_elements.html')

    browser
  end
end

YARD::Doctest.configure do |doctest|
  doctest.skip 'Watir::Browser.start'
  doctest.skip 'Watir::Cookies'
  doctest.skip 'Watir::Element#to_subtype'
  doctest.skip 'Watir::Option'
  doctest.skip 'Watir::Screenshot'
  doctest.skip 'Watir::Window#size'
  doctest.skip 'Watir::Window#position'

  %w[text ok close exists? present?].each do |name|
    doctest.before("Watir::Alert##{name}") do
      browser.goto WatirSpec.url_for('alerts.html')
      browser.button(id: 'alert').click
    end
  end

  doctest.before('Watir::Alert#set') do
    browser.goto WatirSpec.url_for('alerts.html')
    browser.button(id: 'prompt').click
  end

  %w[Watir::Browser#execute_script Watir::Element#drag_and_drop].each do |name|
    doctest.before(name) do
      browser.goto WatirSpec.url_for('drag_and_drop.html')
    end
  end

  doctest.before('Watir::Element#attribute_value') do
    browser.goto WatirSpec.url_for('non_control_elements.html')
  end

  %w[inner_html outer_html html].each do |name|
    doctest.before("Watir::Element##{name}") do
      browser.goto WatirSpec.url_for('inner_outer.html')
    end
  end

  %w[Watir::HasWindow Watir::Window#== Watir::Window#use].each do |name|
    doctest.before(name) do
      browser.goto WatirSpec.url_for('window_switching.html')
      browser.a(id: 'open').click
    end
  end

  doctest.before do
    WatirSpec.run!
  end

  doctest.after do
    browser.quit
    @browser = nil
  end
end

ENV['DISPLAY'] = ':99.0' if ENV['TRAVIS']

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
watir-6.4.0.rc1 support/doctest_helper.rb
watir-6.3.0 support/doctest_helper.rb
watir-6.2.1 support/doctest_helper.rb
watir-6.2.0 support/doctest_helper.rb