Sha256: 96400ae0a71cbc4819409652d92043189544850406a92bbc48a85d01e65f79c5

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

require File.dirname(__FILE__) + '/spec_helper.rb'

describe "TableRows" do

  before :all do
    @browser = Browser.new(BROWSER_OPTIONS)
  end

  before :each do
    @browser = Browser.new(BROWSER_OPTIONS)
    @browser.goto(HTML_DIR + "/tables.html")
  end

  describe "#length" do
    it "returns the correct number of cells (table context)" do
      @browser.table(:id, 'inner').rows.length.should == 1
      @browser.table(:id, 'outer').rows.length.should == 3
    end

    it "returns the correct number of cells (page context)" do
      @browser.rows.length.should == 14
    end
  end

  describe "#[]" do
    it "returns the row at the given index (table context)" do
      @browser.table(:id, 'outer').rows[1].id.should == "outer_first"
    end

    it "returns the row at the given index (page context)" do
      @browser.rows[1].id.should == "thead_row_1"
    end
  end

  describe "#each" do
      it "iterates through rows correctly" do
      # rows inside a table
      inner_table = @browser.table(:id, 'inner')
      inner_table.rows.each_with_index do |r, index|
        r.name.should == inner_table.row(:index, index+1).name
        r.id.should == inner_table.row(:index, index+1).id
        r.value.should == inner_table.row(:index, index+1).value
      end
      # rows inside a table (should not include rows inside a table inside a table)
      outer_table = @browser.table(:id, 'outer')
      outer_table.rows.each_with_index do |r, index|
        r.name.should == outer_table.row(:index, index+1).name
        r.id.should == outer_table.row(:index, index+1).id
        r.value.should == outer_table.row(:index, index+1).value
      end
    end
  end

  after :all do
    @browser.close
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
caius-celerity-0.0.6.11 spec/table_rows_spec.rb