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 16 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..-3] 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