Sha256: aebf291c3fd8ee62adf04c0ac1b9f6fcb8132003532b585756ad4a2d536854de

Contents?: true

Size: 1.31 KB

Versions: 1

Compression:

Stored size: 1.31 KB

Contents

# frozen_string_literal: true

require 'watirspec_helper'

describe 'Divs' do
  before :each do
    browser.goto(WatirSpec.url_for('non_control_elements.html'))
  end

  describe 'with selectors' do
    it 'returns the matching elements' do
      expect(browser.divs(id: 'header').to_a).to eq [browser.div(id: 'header')]
    end
  end

  describe '#length' do
    it 'returns the number of divs' do
      expect(browser.divs.length).to eq 20
    end
  end

  describe '#[]' do
    it 'returns the div at the given index' do
      expect(browser.divs[1].id).to eq 'outer_container'
    end

    it 'returns an array of divs with a given range of positive values' do
      divs = browser.divs[2..4]
      ids = divs.map(&:id)
      expect(ids).to eq %w[header promo content]
    end

    it 'returns an array of divs with a given range including negative values' do
      divs = browser.divs[11..-7]
      ids = divs.map(&:id)
      expect(ids).to eq %w[messages ins_tag_test del_tag_test]
    end
  end

  describe '#each' do
    it 'iterates through divs correctly' do
      count = 0

      browser.divs.each_with_index do |d, index|
        expect(d.id).to eq browser.div(index: index).id
        expect(d.class_name).to eq browser.div(index: index).class_name

        count += 1
      end

      expect(count).to be > 0
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
watir-7.2.0 spec/watirspec/elements/divs_spec.rb