spec/watirspec/elements/tbody_spec.rb in watir-7.2.0 vs spec/watirspec/elements/tbody_spec.rb in watir-7.2.1

- old
+ new

@@ -1,92 +1,94 @@ # frozen_string_literal: true require 'watirspec_helper' -describe 'TableBody' do - before :each do - browser.goto(WatirSpec.url_for('tables.html')) - end - - describe '#exists?' do - it 'returns true if the table body exists (page context)' do - expect(browser.tbody(id: 'first')).to exist - expect(browser.tbody(id: /first/)).to exist - expect(browser.tbody(index: 0)).to exist - expect(browser.tbody(xpath: "//tbody[@id='first']")).to exist +module Watir + describe 'TableBody' do + before do + browser.goto(WatirSpec.url_for('tables.html')) end - it 'returns true if the table body exists (table context)' do - expect(browser.table(index: 0).tbody(id: 'first')).to exist - expect(browser.table(index: 0).tbody(id: /first/)).to exist - expect(browser.table(index: 0).tbody(index: 1)).to exist - expect(browser.table(index: 0).tbody(xpath: "//tbody[@id='first']")).to exist - end + describe '#exists?' do + it 'returns true if the table body exists (page context)' do + expect(browser.tbody(id: 'first')).to exist + expect(browser.tbody(id: /first/)).to exist + expect(browser.tbody(index: 0)).to exist + expect(browser.tbody(xpath: "//tbody[@id='first']")).to exist + end - it 'returns the first table body if given no args' do - expect(browser.table.tbody).to exist - end + it 'returns true if the table body exists (table context)' do + expect(browser.table(index: 0).tbody(id: 'first')).to exist + expect(browser.table(index: 0).tbody(id: /first/)).to exist + expect(browser.table(index: 0).tbody(index: 1)).to exist + expect(browser.table(index: 0).tbody(xpath: "//tbody[@id='first']")).to exist + end - it "returns false if the table body doesn't exist (page context)" do - expect(browser.tbody(id: 'no_such_id')).to_not exist - expect(browser.tbody(id: /no_such_id/)).to_not exist - expect(browser.tbody(index: 1337)).to_not exist - expect(browser.tbody(xpath: "//tbody[@id='no_such_id']")).to_not exist - end + it 'returns the first table body if given no args' do + expect(browser.table.tbody).to exist + end - it "returns false if the table body doesn't exist (table context)" do - expect(browser.table(index: 0).tbody(id: 'no_such_id')).to_not exist - expect(browser.table(index: 0).tbody(id: /no_such_id/)).to_not exist - expect(browser.table(index: 0).tbody(index: 1337)).to_not exist - expect(browser.table(index: 0).tbody(xpath: "//tbody[@id='no_such_id']")).to_not exist - end + it "returns false if the table body doesn't exist (page context)" do + expect(browser.tbody(id: 'no_such_id')).not_to exist + expect(browser.tbody(id: /no_such_id/)).not_to exist + expect(browser.tbody(index: 1337)).not_to exist + expect(browser.tbody(xpath: "//tbody[@id='no_such_id']")).not_to exist + end - it "raises TypeError when 'what' argument is invalid" do - expect { browser.tbody(id: 3.14).exists? }.to raise_error(TypeError) - expect { browser.table(index: 0).tbody(id: 3.14).exists? }.to raise_error(TypeError) - end - end + it "returns false if the table body doesn't exist (table context)" do + expect(browser.table(index: 0).tbody(id: 'no_such_id')).not_to exist + expect(browser.table(index: 0).tbody(id: /no_such_id/)).not_to exist + expect(browser.table(index: 0).tbody(index: 1337)).not_to exist + expect(browser.table(index: 0).tbody(xpath: "//tbody[@id='no_such_id']")).not_to exist + end - describe '#[]', except: {browser: :safari, reason: 'Safari does not strip text'} do - it 'returns the row at the given index (page context)' do - expect(browser.tbody(id: 'first')[0].text).to eq 'March 2008' - expect(browser.tbody(id: 'first')[1][0].text).to eq 'Gregory House' - expect(browser.tbody(id: 'first')[2][0].text).to eq 'Hugh Laurie' + it "raises TypeError when 'what' argument is invalid" do + expect { browser.tbody(id: 3.14).exists? }.to raise_error(TypeError) + expect { browser.table(index: 0).tbody(id: 3.14).exists? }.to raise_error(TypeError) + end end - it 'returns the row at the given index (table context)' do - expect(browser.table(index: 0).tbody(id: 'first')[0].text).to eq 'March 2008' - expect(browser.table(index: 0).tbody(id: 'first')[1][0].text).to eq 'Gregory House' - expect(browser.table(index: 0).tbody(id: 'first')[2][0].text).to eq 'Hugh Laurie' + describe '#[]', except: {browser: :safari, reason: 'Safari does not strip text'} do + it 'returns the row at the given index (page context)' do + expect(browser.tbody(id: 'first')[0].text).to eq 'March 2008' + expect(browser.tbody(id: 'first')[1][0].text).to eq 'Gregory House' + expect(browser.tbody(id: 'first')[2][0].text).to eq 'Hugh Laurie' + end + + it 'returns the row at the given index (table context)' do + expect(browser.table(index: 0).tbody(id: 'first')[0].text).to eq 'March 2008' + expect(browser.table(index: 0).tbody(id: 'first')[1][0].text).to eq 'Gregory House' + expect(browser.table(index: 0).tbody(id: 'first')[2][0].text).to eq 'Hugh Laurie' + end end - end - describe '#row' do - it 'finds the first row matching the selector' do - row = browser.tbody(id: 'first').row(id: 'gregory') + describe '#row' do + it 'finds the first row matching the selector' do + row = browser.tbody(id: 'first').row(id: 'gregory') - expect(row.tag_name).to eq 'tr' - expect(row.id).to eq 'gregory' + expect(row.tag_name).to eq 'tr' + expect(row.id).to eq 'gregory' + end end - end - describe '#rows' do - it 'finds rows matching the selector' do - rows = browser.tbody(id: 'first').rows(id: /h$/) + describe '#rows' do + it 'finds rows matching the selector' do + rows = browser.tbody(id: 'first').rows(id: /h$/) - expect(rows.size).to eq 2 + expect(rows.size).to eq 2 - expect(rows.first.id).to eq 'march' - expect(rows.last.id).to eq 'hugh' + expect(rows.first.id).to eq 'march' + expect(rows.last.id).to eq 'hugh' + end end - end - describe '#strings' do - it 'returns the text of child cells' do - expect(browser.tbody(id: 'first').strings).to eq [ - ['March 2008', '', '', ''], - ['Gregory House', '5 934', '1 347', '4 587'], - ['Hugh Laurie', '6 300', '1 479', '4 821'] - ] + describe '#strings' do + it 'returns the text of child cells' do + expect(browser.tbody(id: 'first').strings).to eq [ + ['March 2008', '', '', ''], + ['Gregory House', '5 934', '1 347', '4 587'], + ['Hugh Laurie', '6 300', '1 479', '4 821'] + ] + end end end end