lib/watir/elements/table_cell.rb in watir-6.6.3 vs lib/watir/elements/table_cell.rb in watir-6.7.0

- old
+ new

@@ -1,6 +1,31 @@ module Watir class TableCell < HTMLElement - alias_method :colspan, :col_span - alias_method :rowspan, :row_span + + def column_header + current_row = parent(tag_name: 'tr') + header_row(current_row, index: previous_siblings.size) + 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