Sha256: 913b3a3e275f1b1adbaf44b8c9804da4421332b246c438573fc3cfebb18ab85a
Contents?: true
Size: 1.33 KB
Versions: 26
Compression:
Stored size: 1.33 KB
Contents
module PageObject module Elements class TableRow < Element include Enumerable def initialize(element, platform) @element = element include_platform_for platform end # # iterator that yields with a PageObject::Elements::TableCell # # @return [PageObject::Elements::TableCell] # def each for index in 1..self.columns do yield self[index-1] end end protected def child_xpath ".//child::td|th" end def initialize_cell(row_element, platform) ::PageObject::Elements::TableCell.new(row_element, platform) end def include_platform_for platform super if platform[:platform] == :watir_webdriver require 'page-object/platforms/watir_webdriver/table_row' self.class.send :include, PageObject::Platforms::WatirWebDriver::TableRow elsif platform[:platform] == :selenium_webdriver require 'page-object/platforms/selenium_webdriver/table_row' self.class.send :include, PageObject::Platforms::SeleniumWebDriver::TableRow else raise ArgumentError, "expect platform to be :watir_webdriver or :selenium_webdriver" end end end ::PageObject::Elements.tag_to_class[:tr] = ::PageObject::Elements::TableRow end end
Version data entries
26 entries across 26 versions & 3 rubygems