Sha256: 8823bfeb1d82077eda36ce7a6c3afa056ce58c48b581197d3844d34a5978ecf3

Contents?: true

Size: 1.88 KB

Versions: 6

Compression:

Stored size: 1.88 KB

Contents

require 'watirspec_helper'

describe 'Elements' do
  before :each do
    browser.goto(WatirSpec.url_for('forms_with_input_elements.html'))
  end

  describe '#[]' do
    context 'when elements do not exist' do
      it 'returns not existing element' do
        expect(browser.elements(id: 'non-existing')[0]).not_to exist
      end
    end
  end

  describe '#eq and #eql?' do
    before { browser.goto WatirSpec.url_for('forms_with_input_elements.html') }

    it 'returns true if the two collections have the same Watir Elements' do
      a = browser.select_list(name: 'new_user_languages').options
      b = browser.select_list(id: 'new_user_languages').options

      expect(a).to eq b
      expect(a).to eql(b)
    end

    it 'returns false if the two collections are not the same' do
      a = browser.select_list(name: 'new_user_languages').options
      b = browser.select_list(id: 'new_user_role').options

      expect(a).to_not eq b
      expect(a).to_not eql(b)
    end
  end

  describe 'visible text' do
    it 'finds elements by visible text' do
      browser.goto WatirSpec.url_for('non_control_elements.html')
      container = browser.div(id: 'visible_text')

      expect(container.elements(visible_text: 'all visible').count).to eq(1)
      expect(container.elements(visible_text: /all visible/).count).to eq(1)
      expect(container.elements(visible_text: /some visible/).count).to eq(1)
    end

    it 'finds elements in spite of hidden text',
       except: {browser: :safari, reason: 'Safari is not filtering out hidden text'} do
      browser.goto WatirSpec.url_for('non_control_elements.html')
      container = browser.div(id: 'visible_text')

      expect(container.elements(visible_text: 'some visible').count).to eq(1)
      expect(container.elements(visible_text: 'none visible').count).to eq(0)
      expect(container.elements(visible_text: /none visible/).count).to eq(0)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
watir-7.1.0 spec/watirspec/elements/elements_spec.rb
watir-7.0.0 spec/watirspec/elements/elements_spec.rb
watir-7.0.0.beta5 spec/watirspec/elements/elements_spec.rb
watir-7.0.0.beta4 spec/watirspec/elements/elements_spec.rb
watir-7.0.0.beta3 spec/watirspec/elements/elements_spec.rb
watir-7.0.0.beta2 spec/watirspec/elements/elements_spec.rb