lib/watir/generator/html/spec_extractor.rb in watir-6.10.0 vs lib/watir/generator/html/spec_extractor.rb in watir-6.10.1

- old
+ new

@@ -1,50 +1,50 @@ -module Watir - module Generator - class HTML::SpecExtractor < Base::SpecExtractor - - private - - def extract_interface_map - # http://www.whatwg.org/specs/web-apps/current-work/#elements-1 - table = @doc.search("//h3[@id='index-elements']/following-sibling::table[1]").first - table or raise "could not find index-elements table" - - @interface_map = {} - - parse_table(table).each do |row| - row['Element'].split(", ").each { |tag| @interface_map[tag] = row['Interface'] } - end - end - - def build_result - {}.tap do |result| - @interface_map.each do |tag, interface| - result[tag] = fetch_interface(interface) - end - - # missing from the elements-1 table - result['frameset'] = fetch_interface('HTMLFrameSetElement') - end - end - - def parse_table(table) - headers = table.css("thead th").map { |e| e.inner_text.strip } - - table.css("tbody tr").map do |row| - result = {} - - row.css("th, td").each_with_index do |node, idx| - result[headers[idx]] = node.inner_text.strip - end - - result - end - end - - def issued_interfaces - [] - end - - end # HTML:;SpecExtractor - end # Generator -end # Watir +module Watir + module Generator + class HTML::SpecExtractor < Base::SpecExtractor + + private + + def extract_interface_map + # http://www.whatwg.org/specs/web-apps/current-work/#elements-1 + table = @doc.search("//h3[@id='index-elements']/following-sibling::table[1]").first + table or raise "could not find index-elements table" + + @interface_map = {} + + parse_table(table).each do |row| + row['Element'].split(", ").each { |tag| @interface_map[tag] = row['Interface'] } + end + end + + def build_result + {}.tap do |result| + @interface_map.each do |tag, interface| + result[tag] = fetch_interface(interface) + end + + # missing from the elements-1 table + result['frameset'] = fetch_interface('HTMLFrameSetElement') + end + end + + def parse_table(table) + headers = table.css("thead th").map { |e| e.inner_text.strip } + + table.css("tbody tr").map do |row| + result = {} + + row.css("th, td").each_with_index do |node, idx| + result[headers[idx]] = node.inner_text.strip + end + + result + end + end + + def issued_interfaces + [] + end + + end # HTML:;SpecExtractor + end # Generator +end # Watir