module Watir
class TableCell < HTMLElement
def column_header
current_row = parent(tag_name: 'tr')
header_row(current_row, index: previous_siblings.size).text
end
def sibling_from_header(opt)
current_row = parent(tag_name: 'tr')
header = header_row(current_row, opt)
index = header.previous_siblings.size
self.class.new(current_row, tag_name: 'td', index: index)
end
private
def header_row(current_row, opt)
table = self.parent(tag_name: 'table')
header_row = table.tr
table.cell_size_check(header_row, current_row)
header_type = table.th.exist? ? 'th' : 'tr'
opt.merge!(tag_name: header_type)
Watir.tag_to_class[header_type.to_sym].new(header_row, opt)
end
end # TableCell
end # Watir