Sha256: 0931283568edcc3c29cbb599d8f5a8399cbc7fd1358dc4d4ef9d70cd584522e0

Contents?: true

Size: 983 Bytes

Versions: 6

Compression:

Stored size: 983 Bytes

Contents

# frozen_string_literal: true

Capybara::SpecHelper.spec '#windows', requires: [:windows] do
  before(:each) do
    @window = @session.current_window
    @session.visit('/with_windows')
    @session.find(:css, '#openTwoWindows').click

    @session.document.synchronize(3, errors: [Capybara::CapybaraError]) do
      raise Capybara::CapybaraError if @session.windows.size != 3
    end
  end
  after(:each) do
    (@session.windows - [@window]).each do |w|
      @session.switch_to_window w
      w.close
    end
    @session.switch_to_window(@window)
  end

  it 'should return objects of Capybara::Window class' do
    expect(@session.windows.map { |window| window.instance_of?(Capybara::Window) }).to eq([true] * 3)
  end

  it 'should switchable windows' do
    titles = @session.windows.map do |window|
      @session.within_window(window) { @session.title }
    end
    expect(titles).to match_array(['With Windows', 'Title of the first popup', 'Title of popup two'])
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
capybara-3.0.3 lib/capybara/spec/session/window/windows_spec.rb
capybara-3.0.2 lib/capybara/spec/session/window/windows_spec.rb
capybara-3.0.1 lib/capybara/spec/session/window/windows_spec.rb
capybara-3.0.0 lib/capybara/spec/session/window/windows_spec.rb
capybara-3.0.0.rc2 lib/capybara/spec/session/window/windows_spec.rb
capybara-3.0.0.rc1 lib/capybara/spec/session/window/windows_spec.rb