watir-webdriver 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data/Gemfile +2 -0
  2. data/Gemfile.lock +48 -0
  3. data/Rakefile +23 -8
  4. data/VERSION +1 -1
  5. data/lib/watir-webdriver.rb +7 -5
  6. data/lib/watir-webdriver/browser.rb +9 -2
  7. data/lib/watir-webdriver/browserbot.js +5 -2
  8. data/lib/watir-webdriver/container.rb +6 -9
  9. data/lib/watir-webdriver/{collections/element_collection.rb → element_collection.rb} +5 -0
  10. data/lib/watir-webdriver/elements/button.rb +5 -4
  11. data/lib/watir-webdriver/{element.rb → elements/element.rb} +29 -5
  12. data/lib/watir-webdriver/elements/file_field.rb +21 -4
  13. data/lib/watir-webdriver/elements/frame.rb +1 -1
  14. data/lib/watir-webdriver/elements/generated.rb +750 -750
  15. data/lib/watir-webdriver/elements/image.rb +6 -0
  16. data/lib/watir-webdriver/elements/link.rb +0 -4
  17. data/lib/watir-webdriver/elements/select.rb +22 -24
  18. data/lib/watir-webdriver/elements/table_row.rb +11 -1
  19. data/lib/watir-webdriver/elements/text_field.rb +5 -15
  20. data/lib/watir-webdriver/extensions/wait.rb +107 -0
  21. data/lib/watir-webdriver/html/generator.rb +1 -1
  22. data/lib/watir-webdriver/html/util.rb +1 -10
  23. data/lib/watir-webdriver/html/visitor.rb +2 -14
  24. data/lib/watir-webdriver/locators/button_locator.rb +22 -3
  25. data/lib/watir-webdriver/locators/element_locator.rb +54 -28
  26. data/lib/watir-webdriver/locators/table_row_locator.rb +3 -1
  27. data/lib/watir-webdriver/locators/text_field_locator.rb +7 -3
  28. data/lib/watir-webdriver/window_switching.rb +78 -0
  29. data/spec/browser_spec.rb +43 -0
  30. data/spec/container_spec.rb +43 -0
  31. data/spec/element_locator_spec.rb +305 -0
  32. data/spec/element_spec.rb +34 -5
  33. data/spec/html/closeable.html +13 -0
  34. data/spec/html/data_attributes.html +9 -0
  35. data/spec/html/wait.html +27 -0
  36. data/spec/html/window_switching.html +12 -0
  37. data/spec/input_spec.rb +14 -2
  38. data/spec/locator_spec_helper.rb +37 -0
  39. data/spec/spec_helper.rb +3 -0
  40. data/spec/wait_spec.rb +98 -0
  41. data/spec/watirspec/area_spec.rb +4 -4
  42. data/spec/watirspec/browser_spec.rb +37 -35
  43. data/spec/watirspec/button_spec.rb +22 -17
  44. data/spec/watirspec/buttons_spec.rb +1 -1
  45. data/spec/watirspec/checkbox_spec.rb +4 -0
  46. data/spec/watirspec/checkboxes_spec.rb +1 -1
  47. data/spec/watirspec/collections_spec.rb +4 -2
  48. data/spec/watirspec/dd_spec.rb +4 -0
  49. data/spec/watirspec/dds_spec.rb +1 -1
  50. data/spec/watirspec/del_spec.rb +4 -0
  51. data/spec/watirspec/dels_spec.rb +1 -1
  52. data/spec/watirspec/div_spec.rb +38 -12
  53. data/spec/watirspec/divs_spec.rb +1 -1
  54. data/spec/watirspec/dl_spec.rb +20 -6
  55. data/spec/watirspec/dls_spec.rb +1 -1
  56. data/spec/watirspec/dt_spec.rb +4 -0
  57. data/spec/watirspec/dts_spec.rb +1 -1
  58. data/spec/watirspec/em_spec.rb +4 -0
  59. data/spec/watirspec/ems_spec.rb +1 -1
  60. data/spec/watirspec/filefield_spec.rb +37 -2
  61. data/spec/watirspec/filefields_spec.rb +1 -1
  62. data/spec/watirspec/font_spec.rb +4 -0
  63. data/spec/watirspec/form_spec.rb +4 -0
  64. data/spec/watirspec/forms_spec.rb +6 -4
  65. data/spec/watirspec/frame_spec.rb +6 -0
  66. data/spec/watirspec/hidden_spec.rb +5 -4
  67. data/spec/watirspec/hiddens_spec.rb +1 -1
  68. data/spec/watirspec/hn_spec.rb +4 -0
  69. data/spec/watirspec/image_spec.rb +4 -0
  70. data/spec/watirspec/images_spec.rb +1 -1
  71. data/spec/watirspec/ins_spec.rb +4 -0
  72. data/spec/watirspec/inses_spec.rb +1 -1
  73. data/spec/watirspec/label_spec.rb +4 -0
  74. data/spec/watirspec/labels_spec.rb +2 -2
  75. data/spec/watirspec/li_spec.rb +4 -0
  76. data/spec/watirspec/link_spec.rb +15 -10
  77. data/spec/watirspec/links_spec.rb +6 -0
  78. data/spec/watirspec/lis_spec.rb +1 -1
  79. data/spec/watirspec/map_spec.rb +4 -0
  80. data/spec/watirspec/maps_spec.rb +1 -1
  81. data/spec/watirspec/meta_spec.rb +4 -0
  82. data/spec/watirspec/metas_spec.rb +1 -1
  83. data/spec/watirspec/ol_spec.rb +23 -9
  84. data/spec/watirspec/option_spec.rb +19 -7
  85. data/spec/watirspec/p_spec.rb +4 -0
  86. data/spec/watirspec/pre_spec.rb +4 -0
  87. data/spec/watirspec/pres_spec.rb +1 -1
  88. data/spec/watirspec/ps_spec.rb +1 -1
  89. data/spec/watirspec/radio_spec.rb +22 -13
  90. data/spec/watirspec/radios_spec.rb +6 -0
  91. data/spec/watirspec/select_list_spec.rb +29 -17
  92. data/spec/watirspec/select_lists_spec.rb +6 -0
  93. data/spec/watirspec/span_spec.rb +10 -2
  94. data/spec/watirspec/spans_spec.rb +1 -1
  95. data/spec/watirspec/strong_spec.rb +14 -4
  96. data/spec/watirspec/table_body_spec.rb +4 -0
  97. data/spec/watirspec/table_cell_spec.rb +9 -3
  98. data/spec/watirspec/table_cells_spec.rb +0 -1
  99. data/spec/watirspec/table_footer_spec.rb +4 -0
  100. data/spec/watirspec/table_header_spec.rb +4 -0
  101. data/spec/watirspec/table_row_spec.rb +15 -7
  102. data/spec/watirspec/table_rows_spec.rb +2 -2
  103. data/spec/watirspec/table_spec.rb +13 -7
  104. data/spec/watirspec/tables_spec.rb +1 -1
  105. data/spec/watirspec/text_field_spec.rb +21 -12
  106. data/spec/watirspec/text_fields_spec.rb +6 -0
  107. data/spec/watirspec/ul_spec.rb +4 -0
  108. data/spec/window_switching_spec.rb +116 -0
  109. data/watir-webdriver.gemspec +38 -16
  110. metadata +51 -27
  111. data/lib/watir-webdriver/collections/table_row_collection.rb +0 -11
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source :rubygems
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,48 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ watir-webdriver (0.0.7)
5
+ selenium-webdriver (>= 0.0.26)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ activesupport (3.0.0)
11
+ ffi (0.6.3)
12
+ rake (>= 0.8.7)
13
+ json_pure (1.4.6)
14
+ nokogiri (1.4.3.1)
15
+ polyglot (0.3.1)
16
+ rack (1.2.1)
17
+ rake (0.8.7)
18
+ rspec (1.3.0)
19
+ ruby2ruby (1.2.4)
20
+ ruby_parser (~> 2.0)
21
+ sexp_processor (~> 3.0)
22
+ ruby_parser (2.0.4)
23
+ sexp_processor (~> 3.0)
24
+ rubyzip (0.9.4)
25
+ selenium-webdriver (0.0.28)
26
+ ffi (>= 0.6.1)
27
+ json_pure
28
+ rubyzip
29
+ sexp_processor (3.0.4)
30
+ sinatra (1.0)
31
+ rack (>= 1.0)
32
+ treetop (1.4.8)
33
+ polyglot (>= 0.3.1)
34
+ webidl (0.0.5)
35
+ ruby2ruby
36
+ treetop
37
+
38
+ PLATFORMS
39
+ ruby
40
+
41
+ DEPENDENCIES
42
+ activesupport (>= 2.3.5)
43
+ nokogiri
44
+ rspec
45
+ selenium-webdriver (>= 0.0.26)
46
+ sinatra (>= 1.0)
47
+ watir-webdriver!
48
+ webidl (>= 0.0.4)
data/Rakefile CHANGED
@@ -11,13 +11,14 @@ begin
11
11
  gem.homepage = "http://github.com/jarib/watir-webdriver"
12
12
  gem.authors = ["Jari Bakken"]
13
13
 
14
- gem.add_dependency "selenium-webdriver", '>= 0.0.26'
14
+ gem.add_dependency "selenium-webdriver", '>= 0.0.28'
15
15
 
16
16
  gem.add_development_dependency "rspec"
17
+ gem.add_development_dependency "yard", "~> 0.6"
17
18
  gem.add_development_dependency "webidl", ">= 0.0.4"
18
- gem.add_development_dependency "sinatra", ">= 1.0"
19
+ gem.add_development_dependency "sinatra", "~> 1.0"
19
20
  gem.add_development_dependency "nokogiri"
20
- gem.add_development_dependency "activesupport", ">= 2.3.5" # for pluralization during code generation
21
+ gem.add_development_dependency "activesupport", "~> 2.3.5" # for pluralization during code generation
21
22
  end
22
23
 
23
24
  Jeweler::GemcutterTasks.new
@@ -31,11 +32,25 @@ Spec::Rake::SpecTask.new(:spec) do |spec|
31
32
  spec.spec_files = FileList['spec/**/*_spec.rb']
32
33
  end
33
34
 
34
- Spec::Rake::SpecTask.new(:rcov) do |spec|
35
- spec.libs << 'lib' << 'spec'
36
- spec.pattern = 'spec/**/*_spec.rb'
37
- spec.rcov = true
38
- spec.rcov_opts = %w[--exclude spec,ruby-debug,/Library/Ruby,.gem --include lib/watir-webdriver]
35
+ namespace :spec do
36
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
37
+ spec.libs << 'lib' << 'spec'
38
+ spec.pattern = 'spec/**/*_spec.rb'
39
+ spec.rcov = true
40
+ spec.rcov_opts = %w[--exclude spec,ruby-debug,/Library/Ruby,.gem --include lib/watir-webdriver]
41
+ end
42
+
43
+ desc 'Run specs for CI'
44
+ Spec::Rake::SpecTask.new(:ci) do |spec|
45
+ spec.libs << 'lib' << 'spec'
46
+ spec.pattern = 'spec/**/*_spec.rb'
47
+ spec.spec_opts = ["--format", "html:results/#{RUBY_PLATFORM}/#{ENV['WATIR_WEBDRIVER_BROWSER'] || 'firefox'}/spec-results.html",
48
+ "--format", "progress",
49
+ "--backtrace"]
50
+ spec.rcov = true
51
+ spec.rcov_opts = %w[--exclude spec,ruby-debug,/Library/Ruby,.gem --include lib/watir-webdriver]
52
+ end
53
+
39
54
  end
40
55
 
41
56
  task :spec => :check_dependencies
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.7
1
+ 0.0.8
@@ -5,6 +5,7 @@ require "json"
5
5
  require "watir-webdriver/core_ext/string"
6
6
  require "watir-webdriver/exception"
7
7
  require "watir-webdriver/xpath_support"
8
+ require "watir-webdriver/window_switching"
8
9
  require "watir-webdriver/container"
9
10
  require "watir-webdriver/locators/element_locator"
10
11
  require "watir-webdriver/locators/button_locator"
@@ -28,8 +29,8 @@ module Watir
28
29
  end
29
30
 
30
31
  require "watir-webdriver/attribute_helper"
31
- require "watir-webdriver/element"
32
- require "watir-webdriver/collections/element_collection"
32
+ require "watir-webdriver/element_collection"
33
+ require "watir-webdriver/elements/element"
33
34
  require "watir-webdriver/elements/generated"
34
35
  require "watir-webdriver/elements/frame"
35
36
  require "watir-webdriver/elements/input"
@@ -47,7 +48,6 @@ require "watir-webdriver/elements/form"
47
48
  require "watir-webdriver/elements/option"
48
49
  require "watir-webdriver/elements/table"
49
50
  require "watir-webdriver/elements/table_row"
50
- require "watir-webdriver/collections/table_row_collection"
51
51
 
52
52
  Watir.tag_to_class.freeze
53
53
 
@@ -65,6 +65,8 @@ end # Watir
65
65
 
66
66
 
67
67
  # undefine deprecated methods to use them for Element attributes
68
- Object.send :undef_method, :id if Object.method_defined? "id"
69
- Object.send :undef_method, :type if Object.method_defined? "type"
68
+ class Object
69
+ undef_method :id if method_defined? "id"
70
+ undef_method :type if method_defined? "type"
71
+ end
70
72
 
@@ -1,7 +1,13 @@
1
1
  # encoding: utf-8
2
2
  module Watir
3
+
4
+ #
5
+ # The main class through which you control the browser.
6
+ #
7
+
3
8
  class Browser
4
9
  include Container
10
+ include WindowSwitching
5
11
 
6
12
  attr_reader :driver
7
13
  alias_method :wd, :driver # ensures duck typing with Watir::Element
@@ -49,7 +55,7 @@ module Watir
49
55
  #
50
56
 
51
57
  def goto(uri)
52
- uri = "http://#{uri}" unless uri.include?("://") || uri =~ /^\w+:/
58
+ uri = "http://#{uri}" unless uri.include?("://")
53
59
 
54
60
  @driver.navigate.to uri
55
61
  run_checkers
@@ -89,6 +95,7 @@ module Watir
89
95
  end
90
96
 
91
97
  def html
98
+ # use body.html instead?
92
99
  @driver.page_source
93
100
  end
94
101
 
@@ -106,7 +113,7 @@ module Watir
106
113
  returned = @driver.execute_script(script, *args)
107
114
 
108
115
  if returned.kind_of? WebDriver::Element
109
- Watir.element_class_for(returned.tag_name).new(self, :element, returned)
116
+ Watir.element_class_for(returned.tag_name).new(self, :element => returned)
110
117
  else
111
118
  returned
112
119
  end
@@ -20,7 +20,7 @@ var browserbot = {
20
20
  }
21
21
 
22
22
  evt.initEvent(eventType, canBubble, true);
23
- element.dispatchEvent(evt);
23
+ return element.dispatchEvent(evt);
24
24
  }
25
25
  },
26
26
 
@@ -29,7 +29,10 @@ var browserbot = {
29
29
  var range = document.createRange();
30
30
  range.selectNodeContents(document.documentElement);
31
31
  selection.addRange(range);
32
- return selection.toString();
32
+ var string = selection.toString();
33
+ selection.removeAllRanges();
34
+
35
+ return string;
33
36
  },
34
37
 
35
38
  getOuterHTML: function(element) {
@@ -17,18 +17,15 @@ module Watir
17
17
  def extract_selector(selectors)
18
18
  case selectors.size
19
19
  when 2
20
- { selectors[0] => selectors[1] }
20
+ return { selectors[0] => selectors[1] }
21
21
  when 1
22
- unless selectors.first.kind_of? Hash
23
- raise ArgumentError, "expected Hash or (:how, 'what')"
24
- end
25
-
26
- selectors.first
22
+ obj = selectors.first
23
+ return obj if obj.kind_of? Hash
27
24
  when 0
28
- {}
29
- else
30
- raise ArgumentError, selectors.inspect
25
+ return {}
31
26
  end
27
+
28
+ raise ArgumentError, "expected Hash or (:how, 'what'), got #{selectors.inspect}"
32
29
  end
33
30
 
34
31
  end # Container
@@ -1,5 +1,10 @@
1
1
  # encoding: utf-8
2
2
  module Watir
3
+
4
+ #
5
+ # Base class for element collections.
6
+ #
7
+
3
8
  class ElementCollection
4
9
  include Enumerable
5
10
 
@@ -15,12 +15,13 @@ module Watir
15
15
 
16
16
  def self.from(parent, element)
17
17
  if element.tag_name == "button" ||
18
- element.tag_name == "input" && %w[submit reset image button].include?(element.attribute(:type))
18
+ element.tag_name == "input" && ButtonLocator::VALID_TYPES.include?(element.attribute(:type))
19
19
  Button.new(parent, :element => element)
20
20
  else
21
- raise TypeError, "expected button or input[@type=submit|reset|image|button] for #{element.inspect}"
21
+ raise TypeError, "expected button or input[@type=#{ButtonLocator::VALID_TYPES.join("|")}] for #{element.inspect}"
22
22
  end
23
23
  end
24
+
24
25
  #
25
26
  # Returns the text of the button.
26
27
  #
@@ -32,9 +33,9 @@ module Watir
32
33
  assert_exists
33
34
  case @element.tag_name
34
35
  when 'input'
35
- value
36
+ @element.attribute(:value)
36
37
  when 'button'
37
- text
38
+ @element.text
38
39
  else
39
40
  raise Exception::Error, "unknown tag name for button: #{@element.tag_name}"
40
41
  end
@@ -1,12 +1,17 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Watir
4
+
5
+ #
6
+ # Base class for HTML elements.
7
+ #
8
+
4
9
  class Element
5
10
  include Exception
6
11
  include Container
7
12
  include Selenium
8
13
  extend AttributeHelper
9
-
14
+
10
15
  def initialize(parent, selector)
11
16
  @parent = parent
12
17
  @selector = selector
@@ -36,6 +41,16 @@ module Watir
36
41
  end
37
42
  end
38
43
 
44
+ def ==(other)
45
+ assert_exists
46
+ @element == other.element
47
+ end
48
+ alias_method :eql?, :==
49
+
50
+ def hash
51
+ @element ? @element.hash : super
52
+ end
53
+
39
54
  def text
40
55
  assert_exists
41
56
  @element.text
@@ -70,8 +85,8 @@ module Watir
70
85
  end
71
86
 
72
87
  def flash
73
- assert_exists
74
- original_color = driver.execute_script("arguments[0].style.backgroundColor", @element)
88
+ original_color = style("backgroundColor")
89
+
75
90
  10.times do |n|
76
91
  color = (n % 2 == 0) ? "red" : original_color
77
92
  driver.execute_script("arguments[0].style.backgroundColor = '#{color}'", @element)
@@ -82,7 +97,7 @@ module Watir
82
97
  assert_exists
83
98
 
84
99
  begin
85
- @element.value
100
+ @element.value || ''
86
101
  rescue WebDriver::Error::ElementNotEnabledError
87
102
  ""
88
103
  end
@@ -150,7 +165,7 @@ module Watir
150
165
  assert_exists
151
166
  @element.style property
152
167
  else
153
- attribute_value "style" || ''
168
+ attribute_value("style") || ''
154
169
  end
155
170
  end
156
171
 
@@ -197,5 +212,14 @@ module Watir
197
212
  raise ObjectReadOnlyException if respond_to?(:readonly?) && readonly?
198
213
  end
199
214
 
215
+ def method_missing(meth, *args, &blk)
216
+ method = meth.to_s
217
+ if method =~ /^data_(.+)$/
218
+ attribute_value(method.gsub(/_/, '-'), *args)
219
+ else
220
+ super
221
+ end
222
+ end
223
+
200
224
  end # Element
201
225
  end # Watir
@@ -12,18 +12,35 @@ module Watir
12
12
  #
13
13
  # Set the file field to the given path
14
14
  #
15
- # @param [String] a value
15
+ # @param [String] a path
16
16
  #
17
+ # @raise [Errno::ENOENT] if the file doesn't exist
18
+ #
19
+
20
+ def set(path)
21
+ raise Errno::ENOENT, path unless File.exist?(path)
22
+ self.value = path
23
+ end
17
24
 
18
- def set(value)
25
+ #
26
+ # Set the file field to the given path
27
+ #
28
+ # @param [String] a path
29
+ #
30
+ def value=(path)
19
31
  assert_exists
20
- value.gsub!(File::SEPARATOR, File::ALT_SEPARATOR) if File::ALT_SEPARATOR
21
- @element.send_keys value
32
+ path = path.gsub(File::SEPARATOR, File::ALT_SEPARATOR) if File::ALT_SEPARATOR
33
+ @element.send_keys path
22
34
  end
23
35
 
24
36
  #
25
37
  # Return the value of this field
26
38
  #
39
+ # In IE, the path returned depends on the "Include local directory path
40
+ # when uploading files to a server" security setting:
41
+ #
42
+ # @see http://msdn.microsoft.com/en-us/library/ms535128(VS.85).aspx
43
+ #
27
44
  # @return [String]
28
45
  #
29
46
 
@@ -55,7 +55,7 @@ module Watir
55
55
  end
56
56
 
57
57
  def locate_frame
58
- loc = VALID_LOCATORS.find { |loc| @selector[loc] }
58
+ loc = VALID_LOCATORS.find { |loc| @selector.has_key? loc }
59
59
 
60
60
  unless loc
61
61
  raise MissingWayOfFindingObjectException, "can only locate frames by #{VALID_LOCATORS.inspect}"
@@ -20,6 +20,16 @@ module Watir
20
20
 
21
21
 
22
22
 
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
23
33
 
24
34
 
25
35
 
@@ -32,23 +42,39 @@ module Watir
32
42
 
33
43
 
34
44
  class HTMLElement < Element
35
- attributes(:token_list => ([:class_list, :item_ref, :item_prop]), :style => ([:style]), :string_map => ([:dataset]), :string => ([:innerhtml, :outerhtml, :id, :title, :lang, :dir, :class_name, :item_type, :item_id, :item_value, :access_key, :access_key_label, :content_editable, :command_type, :label, :icon]), :properties_collection => ([:properties]), :int => ([:tab_index]), :html_element => ([:context_menu]), :function => ([:onabort, :onblur, :oncanplay, :oncanplaythrough, :onchange, :onclick, :oncontextmenu, :oncuechange, :ondblclick, :ondrag, :ondragend, :ondragenter, :ondragleave, :ondragover, :ondragstart, :ondrop, :ondurationchange, :onemptied, :onended, :onerror, :onfocus, :onformchange, :onforminput, :oninput, :oninvalid, :onkeydown, :onkeypress, :onkeyup, :onload, :onloadeddata, :onloadedmetadata, :onloadstart, :onmousedown, :onmousemove, :onmouseout, :onmouseover, :onmouseup, :onmousewheel, :onpause, :onplay, :onplaying, :onprogress, :onratechange, :onreadystatechange, :onscroll, :onseeked, :onseeking, :onselect, :onshow, :onstalled, :onsubmit, :onsuspend, :ontimeupdate, :onvolumechange, :onwaiting]), :bool => ([:item_scope, :hidden, :draggable, :is_content_editable, :spellcheck, :disabled, :checked]))
45
+ attributes(:string => [:innerhtml, :outerhtml, :id, :title, :lang, :dir, :class_name, :item_type, :item_id, :item_value, :access_key, :access_key_label, :content_editable, :command_type, :label, :icon], :token_list => [:class_list, :item_ref, :item_prop], :string_map => [:dataset], :bool => [:item_scope, :hidden, :draggable, :is_content_editable, :spellcheck, :disabled, :checked], :properties_collection => [:properties], :int => [:tab_index], :html_element => [:context_menu], :style => [:style], :function => [:onabort, :onblur, :oncanplay, :oncanplaythrough, :onchange, :onclick, :oncontextmenu, :oncuechange, :ondblclick, :ondrag, :ondragend, :ondragenter, :ondragleave, :ondragover, :ondragstart, :ondrop, :ondurationchange, :onemptied, :onended, :onerror, :onfocus, :onformchange, :onforminput, :oninput, :oninvalid, :onkeydown, :onkeypress, :onkeyup, :onload, :onloadeddata, :onloadedmetadata, :onloadstart, :onmousedown, :onmousemove, :onmouseout, :onmouseover, :onmouseup, :onmousewheel, :onpause, :onplay, :onplaying, :onprogress, :onratechange, :onreadystatechange, :onscroll, :onseeked, :onseeking, :onselect, :onshow, :onstalled, :onsubmit, :onsuspend, :ontimeupdate, :onvolumechange, :onwaiting])
36
46
  end
37
47
  class HTMLElementCollection < ElementCollection
38
48
  def element_class
39
49
  HTMLElement
40
50
  end
41
51
  end
52
+ class Font < HTMLElement
53
+ attributes(:string => [:color, :face, :size])
54
+ end
55
+ class FontCollection < ElementCollection
56
+ def element_class
57
+ Font
58
+ end
59
+ end
42
60
  class Directory < HTMLElement
43
- attributes(:bool => ([:compact]))
61
+ attributes(:bool => [:compact])
44
62
  end
45
63
  class DirectoryCollection < ElementCollection
46
64
  def element_class
47
65
  Directory
48
66
  end
49
67
  end
68
+ class BaseFont < HTMLElement
69
+ attributes(:string => [:color, :face], :int => [:size])
70
+ end
71
+ class BaseFontCollection < ElementCollection
72
+ def element_class
73
+ BaseFont
74
+ end
75
+ end
50
76
  class Frame < HTMLElement
51
- attributes(:string => ([:frame_border, :long_desc, :margin_height, :margin_width, :name, :scrolling, :src]), :bool => ([:no_resize]), :document => ([:content_document]))
77
+ attributes(:string => [:frame_border, :long_desc, :margin_height, :margin_width, :name, :scrolling, :src], :bool => [:no_resize], :document => [:content_document])
52
78
  end
53
79
  class FrameCollection < ElementCollection
54
80
  def element_class
@@ -56,23 +82,39 @@ module Watir
56
82
  end
57
83
  end
58
84
  class FrameSet < HTMLElement
59
- attributes(:string => ([:cols, :rows]), :function => ([:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onredo, :onresize, :onstorage, :onundo, :onunload]))
85
+ attributes(:string => [:cols, :rows], :function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpagehide, :onpageshow, :onpopstate, :onredo, :onresize, :onstorage, :onundo, :onunload])
60
86
  end
61
87
  class FrameSetCollection < ElementCollection
62
88
  def element_class
63
89
  FrameSet
64
90
  end
65
91
  end
92
+ class Marquee < HTMLElement
93
+ attributes(:string => [:behavior, :bg_color, :direction, :height, :true_speed, :width], :int => [:hspace, :loop, :scroll_amount, :scroll_delay, :vspace], :function => [:onbounce, :onfinish, :onstart])
94
+ end
95
+ class MarqueeCollection < ElementCollection
96
+ def element_class
97
+ Marquee
98
+ end
99
+ end
66
100
  class Applet < HTMLElement
67
- attributes(:string => ([:align, :alt, :archive, :code, :code_base, :height, :name, :object, :width]), :int => ([:hspace, :vspace]))
101
+ attributes(:string => [:align, :alt, :archive, :code, :code_base, :height, :name, :object, :width], :int => [:hspace, :vspace])
68
102
  end
69
103
  class AppletCollection < ElementCollection
70
104
  def element_class
71
105
  Applet
72
106
  end
73
107
  end
108
+ class Device < HTMLElement
109
+ attributes(:string => [:type, :data])
110
+ end
111
+ class DeviceCollection < ElementCollection
112
+ def element_class
113
+ Device
114
+ end
115
+ end
74
116
  class Menu < HTMLElement
75
- attributes(:string => ([:type, :label]))
117
+ attributes(:string => [:type, :label])
76
118
  end
77
119
  class MenuCollection < ElementCollection
78
120
  def element_class
@@ -80,19 +122,27 @@ module Watir
80
122
  end
81
123
  end
82
124
  class Menu < HTMLElement
83
- attributes(:bool => ([:compact]))
125
+ attributes(:bool => [:compact])
84
126
  end
85
127
  # do nothing
86
128
  class Command < HTMLElement
87
- attributes(:string => ([:type, :label, :icon, :radiogroup]), :bool => ([:disabled, :checked]))
129
+ attributes(:string => [:type, :label, :icon, :radiogroup], :bool => [:disabled, :checked])
88
130
  end
89
131
  class CommandCollection < ElementCollection
90
132
  def element_class
91
133
  Command
92
134
  end
93
135
  end
136
+ class Details < HTMLElement
137
+ attributes(:bool => [:open])
138
+ end
139
+ class DetailsCollection < ElementCollection
140
+ def element_class
141
+ Details
142
+ end
143
+ end
94
144
  class Meter < HTMLElement
95
- attributes(:float => ([:value, :min, :max, :low, :high, :optimum]), :list => ([:labels]), :html_element => ([:form]))
145
+ attributes(:float => [:value, :min, :max, :low, :high, :optimum], :html_element => [:form], :list => [:labels])
96
146
  end
97
147
  class MeterCollection < ElementCollection
98
148
  def element_class
@@ -100,15 +150,23 @@ module Watir
100
150
  end
101
151
  end
102
152
  class Progress < HTMLElement
103
- attributes(:float => ([:value, :max, :position]), :list => ([:labels]), :html_element => ([:form]))
153
+ attributes(:float => [:value, :max, :position], :html_element => [:form], :list => [:labels])
104
154
  end
105
155
  class ProgressCollection < ElementCollection
106
156
  def element_class
107
157
  Progress
108
158
  end
109
159
  end
160
+ class Output < HTMLElement
161
+ attributes(:token_list => [:html_for], :html_element => [:form], :string => [:name, :type, :default_value, :value, :validity, :validation_message], :bool => [:will_validate], :list => [:labels])
162
+ end
163
+ class OutputCollection < ElementCollection
164
+ def element_class
165
+ Output
166
+ end
167
+ end
110
168
  class Keygen < HTMLElement
111
- attributes(:string => ([:challenge, :keytype, :name, :type, :validity, :validation_message]), :list => ([:labels]), :html_element => ([:form]), :bool => ([:autofocus, :disabled, :will_validate]))
169
+ attributes(:bool => [:autofocus, :disabled, :will_validate], :string => [:challenge, :keytype, :name, :type, :validity, :validation_message], :html_element => [:form], :list => [:labels])
112
170
  end
113
171
  class KeygenCollection < ElementCollection
114
172
  def element_class
@@ -116,7 +174,7 @@ module Watir
116
174
  end
117
175
  end
118
176
  class TextArea < HTMLElement
119
- attributes(:string => ([:name, :placeholder, :wrap, :type, :default_value, :value, :validity, :validation_message]), :int => ([:cols, :max_length, :rows, :text_length, :selection_start, :selection_end]), :list => ([:labels]), :html_element => ([:form]), :bool => ([:autofocus, :disabled, :read_only, :required, :will_validate]))
177
+ attributes(:bool => [:autofocus, :disabled, :read_only, :required, :will_validate], :int => [:cols, :max_length, :rows, :text_length, :selection_start, :selection_end], :html_element => [:form], :string => [:name, :placeholder, :wrap, :type, :default_value, :value, :validity, :validation_message], :list => [:labels])
120
178
  end
121
179
  class TextAreaCollection < ElementCollection
122
180
  def element_class
@@ -124,23 +182,47 @@ module Watir
124
182
  end
125
183
  end
126
184
  class Option < HTMLElement
127
- attributes(:string => ([:label, :value, :text]), :int => ([:index]), :html_element => ([:form]), :bool => ([:disabled, :default_selected, :selected]))
185
+ attributes(:bool => [:disabled, :default_selected, :selected], :html_element => [:form], :string => [:label, :value, :text], :int => [:index])
128
186
  end
129
187
  class OptionCollection < ElementCollection
130
188
  def element_class
131
189
  Option
132
190
  end
133
191
  end
192
+ class OptGroup < HTMLElement
193
+ attributes(:bool => [:disabled], :string => [:label])
194
+ end
195
+ class OptGroupCollection < ElementCollection
196
+ def element_class
197
+ OptGroup
198
+ end
199
+ end
134
200
  class DataList < HTMLElement
135
- attributes(:html_collection => ([:options]))
201
+ attributes(:html_collection => [:options])
136
202
  end
137
203
  class DataListCollection < ElementCollection
138
204
  def element_class
139
205
  DataList
140
206
  end
141
207
  end
208
+ class Select < HTMLElement
209
+ attributes(:bool => [:autofocus, :disabled, :multiple, :required, :will_validate], :html_element => [:form], :string => [:name, :type, :value, :validity, :validation_message], :int => [:size, :length, :selected_index], :html_collection => [:options, :selected_options], :list => [:labels])
210
+ end
211
+ class SelectCollection < ElementCollection
212
+ def element_class
213
+ Select
214
+ end
215
+ end
216
+ class Button < HTMLElement
217
+ attributes(:bool => [:autofocus, :disabled, :will_validate], :html_element => [:form], :string => [:form_action, :form_enctype, :form_method, :form_no_validate, :form_target, :name, :type, :value, :validity, :validation_message], :list => [:labels])
218
+ end
219
+ class ButtonCollection < ElementCollection
220
+ def element_class
221
+ Button
222
+ end
223
+ end
142
224
  class Input < HTMLElement
143
- attributes(:string => ([:accept, :alt, :autocomplete, :form_action, :form_enctype, :form_method, :form_target, :height, :max, :min, :name, :pattern, :placeholder, :src, :step, :type, :default_value, :value, :width, :validity, :validation_message]), :float => ([:value_as_number]), :int => ([:max_length, :size, :selection_start, :selection_end]), :list => ([:files, :labels]), :html_element => ([:form, :list, :selected_option]), :bool => ([:autofocus, :default_checked, :checked, :disabled, :form_no_validate, :indeterminate, :multiple, :read_only, :required, :will_validate]), :date => ([:value_as_date]))
225
+ attributes(:string => [:accept, :alt, :autocomplete, :form_action, :form_enctype, :form_method, :form_target, :height, :max, :min, :name, :pattern, :placeholder, :src, :step, :type, :default_value, :value, :width, :validity, :validation_message], :bool => [:autofocus, :default_checked, :checked, :disabled, :form_no_validate, :indeterminate, :multiple, :read_only, :required, :will_validate], :html_element => [:form, :list, :selected_option], :list => [:files, :labels], :int => [:max_length, :size, :selection_start, :selection_end], :date => [:value_as_date], :float => [:value_as_number])
144
226
  end
145
227
  class InputCollection < ElementCollection
146
228
  def element_class
@@ -148,11 +230,11 @@ module Watir
148
230
  end
149
231
  end
150
232
  class Input < HTMLElement
151
- attributes(:string => ([:align, :use_map]))
233
+ attributes(:string => [:align, :use_map])
152
234
  end
153
235
  # do nothing
154
236
  class Label < HTMLElement
155
- attributes(:string => ([:html_for]), :html_element => ([:form, :control]))
237
+ attributes(:html_element => [:form, :control], :string => [:html_for])
156
238
  end
157
239
  class LabelCollection < ElementCollection
158
240
  def element_class
@@ -160,7 +242,7 @@ module Watir
160
242
  end
161
243
  end
162
244
  class Legend < HTMLElement
163
- attributes(:html_element => ([:form]))
245
+ attributes(:html_element => [:form])
164
246
  end
165
247
  class LegendCollection < ElementCollection
166
248
  def element_class
@@ -168,19 +250,55 @@ module Watir
168
250
  end
169
251
  end
170
252
  class Legend < HTMLElement
171
- attributes(:string => ([:align]))
253
+ attributes(:string => [:align])
172
254
  end
173
255
  # do nothing
256
+ class FieldSet < HTMLElement
257
+ attributes(:bool => [:disabled, :will_validate], :html_element => [:form], :string => [:name, :type, :validity, :validation_message], :html_collection => [:elements])
258
+ end
259
+ class FieldSetCollection < ElementCollection
260
+ def element_class
261
+ FieldSet
262
+ end
263
+ end
174
264
  class Form < HTMLElement
175
- attributes(:string => ([:accept_charset, :action, :autocomplete, :enctype, :method, :name, :target]), :int => ([:length]), :html_collection => ([:elements]), :bool => ([:no_validate]))
265
+ attributes(:string => [:accept_charset, :action, :autocomplete, :enctype, :method, :name, :target], :bool => [:no_validate], :html_collection => [:elements], :int => [:length])
176
266
  end
177
267
  class FormCollection < ElementCollection
178
268
  def element_class
179
269
  Form
180
270
  end
181
271
  end
272
+ class TableCell < HTMLElement
273
+ attributes(:int => [:col_span, :row_span, :cell_index], :token_list => [:headers])
274
+ end
275
+ class TableCellCollection < ElementCollection
276
+ def element_class
277
+ TableCell
278
+ end
279
+ end
280
+ class TableCell < HTMLElement
281
+ attributes(:string => [:abbr, :align, :axis, :bg_color, :ch, :ch_off, :height, :v_align, :width], :bool => [:no_wrap])
282
+ end
283
+ # do nothing
284
+ class TableHeaderCell < TableCell
285
+ attributes(:string => [:scope])
286
+ end
287
+ class TableHeaderCellCollection < ElementCollection
288
+ def element_class
289
+ TableHeaderCell
290
+ end
291
+ end
292
+ class TableDataCell < TableCell
293
+ # do nothing
294
+ end
295
+ class TableDataCellCollection < ElementCollection
296
+ def element_class
297
+ TableDataCell
298
+ end
299
+ end
182
300
  class TableRow < HTMLElement
183
- attributes(:int => ([:row_index, :section_row_index]), :html_collection => ([:cells]))
301
+ attributes(:int => [:row_index, :section_row_index], :html_collection => [:cells])
184
302
  end
185
303
  class TableRowCollection < ElementCollection
186
304
  def element_class
@@ -188,11 +306,11 @@ module Watir
188
306
  end
189
307
  end
190
308
  class TableRow < HTMLElement
191
- attributes(:string => ([:align, :bg_color, :ch, :ch_off, :v_align]))
309
+ attributes(:string => [:align, :bg_color, :ch, :ch_off, :v_align])
192
310
  end
193
311
  # do nothing
194
312
  class TableSection < HTMLElement
195
- attributes(:html_collection => ([:rows]))
313
+ attributes(:html_collection => [:rows])
196
314
  end
197
315
  class TableSectionCollection < ElementCollection
198
316
  def element_class
@@ -200,11 +318,11 @@ module Watir
200
318
  end
201
319
  end
202
320
  class TableSection < HTMLElement
203
- attributes(:string => ([:align, :ch, :ch_off, :v_align]))
321
+ attributes(:string => [:align, :ch, :ch_off, :v_align])
204
322
  end
205
323
  # do nothing
206
324
  class TableCol < HTMLElement
207
- attributes(:int => ([:span]))
325
+ attributes(:int => [:span])
208
326
  end
209
327
  class TableColCollection < ElementCollection
210
328
  def element_class
@@ -212,11 +330,23 @@ module Watir
212
330
  end
213
331
  end
214
332
  class TableCol < HTMLElement
215
- attributes(:string => ([:align, :ch, :ch_off, :v_align, :width]))
333
+ attributes(:string => [:align, :ch, :ch_off, :v_align, :width])
334
+ end
335
+ # do nothing
336
+ class TableCaption < HTMLElement
337
+ # do nothing
338
+ end
339
+ class TableCaptionCollection < ElementCollection
340
+ def element_class
341
+ TableCaption
342
+ end
343
+ end
344
+ class TableCaption < HTMLElement
345
+ attributes(:string => [:align])
216
346
  end
217
347
  # do nothing
218
348
  class Table < HTMLElement
219
- attributes(:string => ([:summary]), :html_element => ([:caption, :t_head, :t_foot]), :html_collection => ([:t_bodies, :rows]))
349
+ attributes(:html_element => [:caption, :t_head, :t_foot], :html_collection => [:t_bodies, :rows], :string => [:summary])
220
350
  end
221
351
  class TableCollection < ElementCollection
222
352
  def element_class
@@ -224,19 +354,39 @@ module Watir
224
354
  end
225
355
  end
226
356
  class Table < HTMLElement
227
- attributes(:string => ([:align, :bg_color, :border, :cell_padding, :cell_spacing, :frame, :rules, :width]))
357
+ attributes(:string => [:align, :bg_color, :border, :cell_padding, :cell_spacing, :frame, :rules, :width])
358
+ end
359
+ # do nothing
360
+ class Area < HTMLElement
361
+ attributes(:string => [:alt, :coords, :shape, :href, :target, :ping, :rel, :media, :hreflang, :type, :protocol, :host, :hostname, :port, :pathname, :search, :hash], :token_list => [:rel_list])
362
+ end
363
+ class AreaCollection < ElementCollection
364
+ def element_class
365
+ Area
366
+ end
367
+ end
368
+ class Area < HTMLElement
369
+ attributes(:bool => [:no_href])
228
370
  end
229
371
  # do nothing
230
372
  class Map < HTMLElement
231
- attributes(:string => ([:name]), :html_collection => ([:areas, :images]))
373
+ attributes(:string => [:name], :html_collection => [:areas, :images])
232
374
  end
233
375
  class MapCollection < ElementCollection
234
376
  def element_class
235
377
  Map
236
378
  end
237
379
  end
380
+ class Canvas < HTMLElement
381
+ attributes(:int => [:width, :height])
382
+ end
383
+ class CanvasCollection < ElementCollection
384
+ def element_class
385
+ Canvas
386
+ end
387
+ end
238
388
  class Media < HTMLElement
239
- attributes(:string => ([:error, :src, :current_src, :preload, :buffered, :played, :seekable, :tracks]), :float => ([:current_time, :initial_time, :duration, :default_playback_rate, :playback_rate, :volume]), :int => ([:network_state, :ready_state]), :bool => ([:seeking, :paused, :ended, :autoplay, :loop, :controls, :muted]), :date => ([:start_offset_time]))
389
+ attributes(:string => [:error, :src, :current_src, :preload, :buffered, :played, :seekable, :tracks], :int => [:network_state, :ready_state], :bool => [:seeking, :paused, :ended, :autoplay, :loop, :controls, :muted], :float => [:current_time, :initial_time, :duration, :default_playback_rate, :playback_rate, :volume], :date => [:start_offset_time])
240
390
  end
241
391
  class MediaCollection < ElementCollection
242
392
  def element_class
@@ -252,15 +402,23 @@ module Watir
252
402
  end
253
403
  end
254
404
  class Video < Media
255
- attributes(:string => ([:width, :height, :poster]), :int => ([:video_width, :video_height]))
405
+ attributes(:string => [:width, :height, :poster], :int => [:video_width, :video_height])
256
406
  end
257
407
  class VideoCollection < ElementCollection
258
408
  def element_class
259
409
  Video
260
410
  end
261
411
  end
412
+ class Track < HTMLElement
413
+ attributes(:string => [:kind, :label, :src, :srclang, :track])
414
+ end
415
+ class TrackCollection < ElementCollection
416
+ def element_class
417
+ Track
418
+ end
419
+ end
262
420
  class Source < HTMLElement
263
- attributes(:string => ([:src, :type, :media]))
421
+ attributes(:string => [:src, :type, :media])
264
422
  end
265
423
  class SourceCollection < ElementCollection
266
424
  def element_class
@@ -268,7 +426,7 @@ module Watir
268
426
  end
269
427
  end
270
428
  class Param < HTMLElement
271
- attributes(:string => ([:name, :value]))
429
+ attributes(:string => [:name, :value])
272
430
  end
273
431
  class ParamCollection < ElementCollection
274
432
  def element_class
@@ -276,11 +434,11 @@ module Watir
276
434
  end
277
435
  end
278
436
  class Param < HTMLElement
279
- attributes(:string => ([:type, :value_type]))
437
+ attributes(:string => [:type, :value_type])
280
438
  end
281
439
  # do nothing
282
440
  class Object < HTMLElement
283
- attributes(:string => ([:data, :type, :name, :use_map, :width, :height, :content_window, :validity, :validation_message]), :html_element => ([:form]), :bool => ([:will_validate]), :document => ([:content_document]))
441
+ attributes(:string => [:data, :type, :name, :use_map, :width, :height, :content_window, :validity, :validation_message], :html_element => [:form], :document => [:content_document], :bool => [:will_validate])
284
442
  end
285
443
  class ObjectCollection < ElementCollection
286
444
  def element_class
@@ -288,11 +446,23 @@ module Watir
288
446
  end
289
447
  end
290
448
  class Object < HTMLElement
291
- attributes(:string => ([:align, :archive, :border, :code, :code_base, :code_type, :standby]), :int => ([:hspace, :vspace]), :bool => ([:declare]))
449
+ attributes(:string => [:align, :archive, :border, :code, :code_base, :code_type, :standby], :bool => [:declare], :int => [:hspace, :vspace])
450
+ end
451
+ # do nothing
452
+ class Embed < HTMLElement
453
+ attributes(:string => [:src, :type, :width, :height])
454
+ end
455
+ class EmbedCollection < ElementCollection
456
+ def element_class
457
+ Embed
458
+ end
459
+ end
460
+ class Embed < HTMLElement
461
+ attributes(:string => [:align, :name])
292
462
  end
293
463
  # do nothing
294
464
  class IFrame < HTMLElement
295
- attributes(:token_list => ([:sandbox]), :string => ([:src, :srcdoc, :name, :width, :height, :content_window]), :bool => ([:seamless]), :document => ([:content_document]))
465
+ attributes(:string => [:src, :srcdoc, :name, :width, :height, :content_window], :token_list => [:sandbox], :bool => [:seamless], :document => [:content_document])
296
466
  end
297
467
  class IFrameCollection < ElementCollection
298
468
  def element_class
@@ -300,11 +470,11 @@ module Watir
300
470
  end
301
471
  end
302
472
  class IFrame < HTMLElement
303
- attributes(:string => ([:align, :frame_border, :long_desc, :margin_height, :margin_width, :scrolling]))
473
+ attributes(:string => [:align, :frame_border, :long_desc, :margin_height, :margin_width, :scrolling])
304
474
  end
305
475
  # do nothing
306
476
  class Image < HTMLElement
307
- attributes(:string => ([:alt, :src, :use_map]), :int => ([:width, :height, :natural_width, :natural_height]), :bool => ([:is_map, :complete]))
477
+ attributes(:string => [:alt, :src, :use_map], :bool => [:is_map, :complete], :int => [:width, :height, :natural_width, :natural_height])
308
478
  end
309
479
  class ImageCollection < ElementCollection
310
480
  def element_class
@@ -312,11 +482,11 @@ module Watir
312
482
  end
313
483
  end
314
484
  class Image < HTMLElement
315
- attributes(:string => ([:name, :align, :border, :long_desc]), :int => ([:hspace, :vspace]))
485
+ attributes(:string => [:name, :align, :border, :long_desc], :int => [:hspace, :vspace])
316
486
  end
317
487
  # do nothing
318
488
  class Mod < HTMLElement
319
- attributes(:string => ([:cite, :date_time]))
489
+ attributes(:string => [:cite, :date_time])
320
490
  end
321
491
  class ModCollection < ElementCollection
322
492
  def element_class
@@ -332,7 +502,7 @@ module Watir
332
502
  end
333
503
  end
334
504
  class BR < HTMLElement
335
- attributes(:string => ([:clear]))
505
+ attributes(:string => [:clear])
336
506
  end
337
507
  # do nothing
338
508
  class Span < HTMLElement
@@ -343,205 +513,62 @@ module Watir
343
513
  Span
344
514
  end
345
515
  end
346
- class Anchor < HTMLElement
347
- attributes(:token_list => ([:rel_list]), :string => ([:href, :target, :ping, :rel, :media, :hreflang, :type, :text, :protocol, :host, :hostname, :port, :pathname, :search, :hash]))
516
+ class Time < HTMLElement
517
+ attributes(:string => [:date_time], :bool => [:pub_date], :date => [:value_as_date])
348
518
  end
349
- class AnchorCollection < ElementCollection
519
+ class TimeCollection < ElementCollection
350
520
  def element_class
351
- Anchor
521
+ Time
352
522
  end
353
523
  end
354
524
  class Anchor < HTMLElement
355
- attributes(:string => ([:coords, :charset, :name, :rev, :shape]))
356
- end
357
- # do nothing
358
- class DList < HTMLElement
359
- # do nothing
525
+ attributes(:string => [:href, :target, :ping, :rel, :media, :hreflang, :type, :text, :protocol, :host, :hostname, :port, :pathname, :search, :hash], :token_list => [:rel_list])
360
526
  end
361
- class DListCollection < ElementCollection
362
- def element_class
363
- DList
364
- end
365
- end
366
- class DList < HTMLElement
367
- attributes(:bool => ([:compact]))
368
- end
369
- # do nothing
370
- class LI < HTMLElement
371
- attributes(:int => ([:value]))
372
- end
373
- class LICollection < ElementCollection
374
- def element_class
375
- LI
376
- end
377
- end
378
- class LI < HTMLElement
379
- attributes(:string => ([:type]))
380
- end
381
- # do nothing
382
- class Pre < HTMLElement
383
- # do nothing
384
- end
385
- class PreCollection < ElementCollection
386
- def element_class
387
- Pre
388
- end
389
- end
390
- class Pre < HTMLElement
391
- attributes(:int => ([:width]))
392
- end
393
- # do nothing
394
- class HR < HTMLElement
395
- # do nothing
396
- end
397
- class HRCollection < ElementCollection
527
+ class AnchorCollection < ElementCollection
398
528
  def element_class
399
- HR
529
+ Anchor
400
530
  end
401
531
  end
402
- class HR < HTMLElement
403
- attributes(:string => ([:align, :color, :size, :width]), :bool => ([:no_shade]))
532
+ class Anchor < HTMLElement
533
+ attributes(:string => [:coords, :charset, :name, :rev, :shape])
404
534
  end
405
535
  # do nothing
406
- class Paragraph < HTMLElement
536
+ class Div < HTMLElement
407
537
  # do nothing
408
538
  end
409
- class ParagraphCollection < ElementCollection
539
+ class DivCollection < ElementCollection
410
540
  def element_class
411
- Paragraph
541
+ Div
412
542
  end
413
543
  end
414
- class Paragraph < HTMLElement
415
- attributes(:string => ([:align]))
544
+ class Div < HTMLElement
545
+ attributes(:string => [:align])
416
546
  end
417
547
  # do nothing
418
- class Heading < HTMLElement
548
+ class DList < HTMLElement
419
549
  # do nothing
420
550
  end
421
- class HeadingCollection < ElementCollection
422
- def element_class
423
- Heading
424
- end
425
- end
426
- class Heading < HTMLElement
427
- attributes(:string => ([:align]))
428
- end
429
- # do nothing
430
- class Body < HTMLElement
431
- attributes(:function => ([:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpopstate, :onpagehide, :onpageshow, :onredo, :onresize, :onstorage, :onundo, :onunload]))
432
- end
433
- class BodyCollection < ElementCollection
434
- def element_class
435
- Body
436
- end
437
- end
438
- class Body < HTMLElement
439
- attributes(:string => ([:text, :bg_color, :background, :link, :v_link, :a_link]))
440
- end
441
- # do nothing
442
- class Script < HTMLElement
443
- attributes(:string => ([:src, :type, :charset, :text]), :bool => ([:async, :defer]))
444
- end
445
- class ScriptCollection < ElementCollection
446
- def element_class
447
- Script
448
- end
449
- end
450
- class Script < HTMLElement
451
- attributes(:string => ([:event, :html_for]))
452
- end
453
- # do nothing
454
- class Style < HTMLElement
455
- attributes(:string => ([:media, :type]), :bool => ([:disabled, :scoped]))
456
- end
457
- class StyleCollection < ElementCollection
458
- def element_class
459
- Style
460
- end
461
- end
462
- class Meta < HTMLElement
463
- attributes(:string => ([:name, :http_equiv, :content]))
464
- end
465
- class MetaCollection < ElementCollection
551
+ class DListCollection < ElementCollection
466
552
  def element_class
467
- Meta
553
+ DList
468
554
  end
469
555
  end
470
- class Meta < HTMLElement
471
- attributes(:string => ([:scheme]))
556
+ class DList < HTMLElement
557
+ attributes(:bool => [:compact])
472
558
  end
473
559
  # do nothing
474
- class Base < HTMLElement
475
- attributes(:string => ([:href, :target]))
476
- end
477
- class BaseCollection < ElementCollection
478
- def element_class
479
- Base
480
- end
481
- end
482
- class Head < HTMLElement
483
- # do nothing
484
- end
485
- class HeadCollection < ElementCollection
486
- def element_class
487
- Head
488
- end
489
- end
490
-
491
- class Time < HTMLElement
492
- attributes(:string => ([:date_time]), :bool => ([:pub_date]), :date => ([:value_as_date]))
493
- end
494
- class TimeCollection < ElementCollection
495
- def element_class
496
- Time
497
- end
498
- end
499
-
500
-
501
-
502
-
503
- class Marquee < HTMLElement
504
- attributes(:string => ([:behavior, :bg_color, :direction, :height, :true_speed, :width]), :int => ([:hspace, :loop, :scroll_amount, :scroll_delay, :vspace]), :function => ([:onbounce, :onfinish, :onstart]))
505
- end
506
- class MarqueeCollection < ElementCollection
507
- def element_class
508
- Marquee
509
- end
510
- end
511
- class Font < HTMLElement
512
- attributes(:string => ([:color, :face, :size]))
513
- end
514
- class FontCollection < ElementCollection
515
- def element_class
516
- Font
517
- end
518
- end
519
- class TableCaption < HTMLElement
520
- # do nothing
560
+ class LI < HTMLElement
561
+ attributes(:int => [:value])
521
562
  end
522
- class TableCaptionCollection < ElementCollection
563
+ class LICollection < ElementCollection
523
564
  def element_class
524
- TableCaption
565
+ LI
525
566
  end
526
567
  end
527
- class TableCaption < HTMLElement
528
- attributes(:string => ([:align]))
568
+ class LI < HTMLElement
569
+ attributes(:string => [:type])
529
570
  end
530
571
  # do nothing
531
-
532
-
533
-
534
-
535
-
536
-
537
- class Select < HTMLElement
538
- attributes(:string => ([:name, :type, :value, :validity, :validation_message]), :int => ([:size, :length, :selected_index]), :list => ([:labels]), :html_element => ([:form]), :html_collection => ([:options, :selected_options]), :bool => ([:autofocus, :disabled, :multiple, :required, :will_validate]))
539
- end
540
- class SelectCollection < ElementCollection
541
- def element_class
542
- Select
543
- end
544
- end
545
572
  class UList < HTMLElement
546
573
  # do nothing
547
574
  end
@@ -551,1974 +578,1947 @@ module Watir
551
578
  end
552
579
  end
553
580
  class UList < HTMLElement
554
- attributes(:string => ([:type]), :bool => ([:compact]))
581
+ attributes(:bool => [:compact], :string => [:type])
555
582
  end
556
583
  # do nothing
557
-
558
- class OptGroup < HTMLElement
559
- attributes(:string => ([:label]), :bool => ([:disabled]))
560
- end
561
- class OptGroupCollection < ElementCollection
562
- def element_class
563
- OptGroup
564
- end
565
- end
566
- class Canvas < HTMLElement
567
- attributes(:int => ([:width, :height]))
568
- end
569
- class CanvasCollection < ElementCollection
570
- def element_class
571
- Canvas
572
- end
573
- end
574
- class TableCell < HTMLElement
575
- attributes(:token_list => ([:headers]), :int => ([:col_span, :row_span, :cell_index]))
584
+ class OList < HTMLElement
585
+ attributes(:bool => [:reversed], :int => [:start])
576
586
  end
577
- class TableCellCollection < ElementCollection
587
+ class OListCollection < ElementCollection
578
588
  def element_class
579
- TableCell
589
+ OList
580
590
  end
581
591
  end
582
- class TableCell < HTMLElement
583
- attributes(:string => ([:abbr, :align, :axis, :bg_color, :ch, :ch_off, :height, :v_align, :width]), :bool => ([:no_wrap]))
592
+ class OList < HTMLElement
593
+ attributes(:bool => [:compact], :string => [:type])
584
594
  end
585
595
  # do nothing
586
- class TableHeaderCell < TableCell
587
- attributes(:string => ([:scope]))
588
- end
589
- class TableHeaderCellCollection < ElementCollection
590
- def element_class
591
- TableHeaderCell
592
- end
593
- end
594
- class TableDataCell < TableCell
595
- # do nothing
596
- end
597
- class TableDataCellCollection < ElementCollection
598
- def element_class
599
- TableDataCell
600
- end
601
- end
602
596
  class Quote < HTMLElement
603
- attributes(:string => ([:cite]))
597
+ attributes(:string => [:cite])
604
598
  end
605
599
  class QuoteCollection < ElementCollection
606
600
  def element_class
607
601
  Quote
608
602
  end
609
603
  end
610
- class Div < HTMLElement
604
+ class Pre < HTMLElement
611
605
  # do nothing
612
606
  end
613
- class DivCollection < ElementCollection
607
+ class PreCollection < ElementCollection
614
608
  def element_class
615
- Div
609
+ Pre
616
610
  end
617
611
  end
618
- class Div < HTMLElement
619
- attributes(:string => ([:align]))
612
+ class Pre < HTMLElement
613
+ attributes(:int => [:width])
620
614
  end
621
615
  # do nothing
622
-
623
- class Device < HTMLElement
624
- attributes(:string => ([:type, :data]))
625
- end
626
- class DeviceCollection < ElementCollection
627
- def element_class
628
- Device
629
- end
630
- end
631
-
632
-
633
- class Output < HTMLElement
634
- attributes(:token_list => ([:html_for]), :string => ([:name, :type, :default_value, :value, :validity, :validation_message]), :list => ([:labels]), :html_element => ([:form]), :bool => ([:will_validate]))
616
+ class HR < HTMLElement
617
+ # do nothing
635
618
  end
636
- class OutputCollection < ElementCollection
619
+ class HRCollection < ElementCollection
637
620
  def element_class
638
- Output
621
+ HR
639
622
  end
640
623
  end
641
- class Track < HTMLElement
642
- attributes(:string => ([:kind, :label, :src, :srclang, :track]))
643
- end
644
- class TrackCollection < ElementCollection
645
- def element_class
646
- Track
647
- end
624
+ class HR < HTMLElement
625
+ attributes(:string => [:align, :color, :size, :width], :bool => [:no_shade])
648
626
  end
649
-
650
-
651
- class Embed < HTMLElement
652
- attributes(:string => ([:src, :type, :width, :height]))
627
+ # do nothing
628
+ class Paragraph < HTMLElement
629
+ # do nothing
653
630
  end
654
- class EmbedCollection < ElementCollection
631
+ class ParagraphCollection < ElementCollection
655
632
  def element_class
656
- Embed
633
+ Paragraph
657
634
  end
658
635
  end
659
- class Embed < HTMLElement
660
- attributes(:string => ([:align, :name]))
636
+ class Paragraph < HTMLElement
637
+ attributes(:string => [:align])
661
638
  end
662
639
  # do nothing
663
-
664
-
665
-
666
- class Area < HTMLElement
667
- attributes(:token_list => ([:rel_list]), :string => ([:alt, :coords, :shape, :href, :target, :ping, :rel, :media, :hreflang, :type, :protocol, :host, :hostname, :port, :pathname, :search, :hash]))
640
+ class Heading < HTMLElement
641
+ # do nothing
668
642
  end
669
- class AreaCollection < ElementCollection
643
+ class HeadingCollection < ElementCollection
670
644
  def element_class
671
- Area
645
+ Heading
672
646
  end
673
647
  end
674
- class Area < HTMLElement
675
- attributes(:bool => ([:no_href]))
648
+ class Heading < HTMLElement
649
+ attributes(:string => [:align])
676
650
  end
677
651
  # do nothing
678
-
679
- class OList < HTMLElement
680
- attributes(:int => ([:start]), :bool => ([:reversed]))
652
+ class Body < HTMLElement
653
+ attributes(:function => [:onafterprint, :onbeforeprint, :onbeforeunload, :onblur, :onerror, :onfocus, :onhashchange, :onload, :onmessage, :onoffline, :ononline, :onpopstate, :onpagehide, :onpageshow, :onredo, :onresize, :onstorage, :onundo, :onunload])
681
654
  end
682
- class OListCollection < ElementCollection
655
+ class BodyCollection < ElementCollection
683
656
  def element_class
684
- OList
657
+ Body
685
658
  end
686
659
  end
687
- class OList < HTMLElement
688
- attributes(:string => ([:type]), :bool => ([:compact]))
660
+ class Body < HTMLElement
661
+ attributes(:string => [:text, :bg_color, :background, :link, :v_link, :a_link])
689
662
  end
690
663
  # do nothing
691
-
692
- class Unknown < HTMLElement
693
- # do nothing
664
+ class Script < HTMLElement
665
+ attributes(:string => [:src, :type, :charset, :text], :bool => [:async, :defer])
694
666
  end
695
- class UnknownCollection < ElementCollection
667
+ class ScriptCollection < ElementCollection
696
668
  def element_class
697
- Unknown
669
+ Script
698
670
  end
699
671
  end
700
- class Button < HTMLElement
701
- attributes(:string => ([:form_action, :form_enctype, :form_method, :form_no_validate, :form_target, :name, :type, :value, :validity, :validation_message]), :list => ([:labels]), :html_element => ([:form]), :bool => ([:autofocus, :disabled, :will_validate]))
672
+ class Script < HTMLElement
673
+ attributes(:string => [:event, :html_for])
702
674
  end
703
- class ButtonCollection < ElementCollection
675
+ # do nothing
676
+ class Style < HTMLElement
677
+ attributes(:bool => [:disabled, :scoped], :string => [:media, :type])
678
+ end
679
+ class StyleCollection < ElementCollection
704
680
  def element_class
705
- Button
681
+ Style
706
682
  end
707
683
  end
708
- class Html < HTMLElement
709
- # do nothing
684
+ class Meta < HTMLElement
685
+ attributes(:string => [:name, :http_equiv, :content])
710
686
  end
711
- class HtmlCollection < ElementCollection
687
+ class MetaCollection < ElementCollection
712
688
  def element_class
713
- Html
689
+ Meta
714
690
  end
715
691
  end
716
- class Html < HTMLElement
717
- attributes(:string => ([:version]))
692
+ class Meta < HTMLElement
693
+ attributes(:string => [:scheme])
718
694
  end
719
695
  # do nothing
696
+ class Base < HTMLElement
697
+ attributes(:string => [:href, :target])
698
+ end
699
+ class BaseCollection < ElementCollection
700
+ def element_class
701
+ Base
702
+ end
703
+ end
720
704
  class Title < HTMLElement
721
- attributes(:string => ([:text]))
705
+ attributes(:string => [:text])
722
706
  end
723
707
  class TitleCollection < ElementCollection
724
708
  def element_class
725
709
  Title
726
710
  end
727
711
  end
728
- class FieldSet < HTMLElement
729
- attributes(:string => ([:name, :type, :validity, :validation_message]), :html_element => ([:form]), :html_collection => ([:elements]), :bool => ([:disabled, :will_validate]))
712
+ class Head < HTMLElement
713
+ # do nothing
730
714
  end
731
- class FieldSetCollection < ElementCollection
715
+ class HeadCollection < ElementCollection
732
716
  def element_class
733
- FieldSet
717
+ Head
734
718
  end
735
719
  end
736
- class Details < HTMLElement
737
- attributes(:bool => ([:open]))
720
+ class Html < HTMLElement
721
+ # do nothing
738
722
  end
739
- class DetailsCollection < ElementCollection
723
+ class HtmlCollection < ElementCollection
740
724
  def element_class
741
- Details
725
+ Html
742
726
  end
743
727
  end
744
-
745
-
746
- class BaseFont < HTMLElement
747
- attributes(:string => ([:color, :face]), :int => ([:size]))
728
+ class Html < HTMLElement
729
+ attributes(:string => [:version])
748
730
  end
749
- class BaseFontCollection < ElementCollection
731
+ # do nothing
732
+ class Unknown < HTMLElement
733
+ # do nothing
734
+ end
735
+ class UnknownCollection < ElementCollection
750
736
  def element_class
751
- BaseFont
737
+ Unknown
752
738
  end
753
739
  end
740
+
741
+
742
+
743
+
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+
754
754
  module Container
755
755
  #
756
756
  # @return [Anchor]
757
757
  #
758
-
758
+
759
759
  def a(*args)
760
760
  Anchor.new(self, extract_selector(args).merge(:tag_name => "a"))
761
761
  end
762
-
762
+
763
763
  #
764
764
  # @return [AnchorCollection]
765
765
  #
766
-
766
+
767
767
  def as(*args)
768
768
  AnchorCollection.new(self, extract_selector(args).merge(:tag_name => "a"))
769
769
  end
770
-
770
+
771
771
  Watir.tag_to_class[:a] = Anchor
772
772
  #
773
773
  # @return [HTMLElement]
774
774
  #
775
-
775
+
776
776
  def abbr(*args)
777
777
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "abbr"))
778
778
  end
779
-
779
+
780
780
  #
781
781
  # @return [HTMLElementCollection]
782
782
  #
783
-
783
+
784
784
  def abbrs(*args)
785
785
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "abbr"))
786
786
  end
787
-
787
+
788
788
  Watir.tag_to_class[:abbr] = HTMLElement
789
789
  #
790
790
  # @return [HTMLElement]
791
791
  #
792
-
792
+
793
793
  def address(*args)
794
794
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "address"))
795
795
  end
796
-
796
+
797
797
  #
798
798
  # @return [HTMLElementCollection]
799
799
  #
800
-
800
+
801
801
  def addresses(*args)
802
802
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "address"))
803
803
  end
804
-
804
+
805
805
  Watir.tag_to_class[:address] = HTMLElement
806
806
  #
807
807
  # @return [Area]
808
808
  #
809
-
809
+
810
810
  def area(*args)
811
811
  Area.new(self, extract_selector(args).merge(:tag_name => "area"))
812
812
  end
813
-
813
+
814
814
  #
815
815
  # @return [AreaCollection]
816
816
  #
817
-
817
+
818
818
  def areas(*args)
819
819
  AreaCollection.new(self, extract_selector(args).merge(:tag_name => "area"))
820
820
  end
821
-
821
+
822
822
  Watir.tag_to_class[:area] = Area
823
823
  #
824
824
  # @return [HTMLElement]
825
825
  #
826
-
826
+
827
827
  def article(*args)
828
828
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "article"))
829
829
  end
830
-
830
+
831
831
  #
832
832
  # @return [HTMLElementCollection]
833
833
  #
834
-
834
+
835
835
  def articles(*args)
836
836
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "article"))
837
837
  end
838
-
838
+
839
839
  Watir.tag_to_class[:article] = HTMLElement
840
840
  #
841
841
  # @return [HTMLElement]
842
842
  #
843
-
843
+
844
844
  def aside(*args)
845
845
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "aside"))
846
846
  end
847
-
847
+
848
848
  #
849
849
  # @return [HTMLElementCollection]
850
850
  #
851
-
851
+
852
852
  def asides(*args)
853
853
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "aside"))
854
854
  end
855
-
855
+
856
856
  Watir.tag_to_class[:aside] = HTMLElement
857
857
  #
858
858
  # @return [Audio]
859
859
  #
860
-
860
+
861
861
  def audio(*args)
862
862
  Audio.new(self, extract_selector(args).merge(:tag_name => "audio"))
863
863
  end
864
-
864
+
865
865
  #
866
866
  # @return [AudioCollection]
867
867
  #
868
-
868
+
869
869
  def audios(*args)
870
870
  AudioCollection.new(self, extract_selector(args).merge(:tag_name => "audio"))
871
871
  end
872
-
872
+
873
873
  Watir.tag_to_class[:audio] = Audio
874
874
  #
875
875
  # @return [HTMLElement]
876
876
  #
877
-
877
+
878
878
  def b(*args)
879
879
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "b"))
880
880
  end
881
-
881
+
882
882
  #
883
883
  # @return [HTMLElementCollection]
884
884
  #
885
-
885
+
886
886
  def bs(*args)
887
887
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "b"))
888
888
  end
889
-
889
+
890
890
  Watir.tag_to_class[:b] = HTMLElement
891
891
  #
892
892
  # @return [Base]
893
893
  #
894
-
894
+
895
895
  def base(*args)
896
896
  Base.new(self, extract_selector(args).merge(:tag_name => "base"))
897
897
  end
898
-
898
+
899
899
  #
900
900
  # @return [BaseCollection]
901
901
  #
902
-
902
+
903
903
  def bases(*args)
904
904
  BaseCollection.new(self, extract_selector(args).merge(:tag_name => "base"))
905
905
  end
906
-
906
+
907
907
  Watir.tag_to_class[:base] = Base
908
908
  #
909
909
  # @return [HTMLElement]
910
910
  #
911
-
911
+
912
912
  def bdo(*args)
913
913
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "bdo"))
914
914
  end
915
-
915
+
916
916
  #
917
917
  # @return [HTMLElementCollection]
918
918
  #
919
-
919
+
920
920
  def bdos(*args)
921
921
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "bdo"))
922
922
  end
923
-
923
+
924
924
  Watir.tag_to_class[:bdo] = HTMLElement
925
925
  #
926
926
  # @return [Quote]
927
927
  #
928
-
928
+
929
929
  def blockquote(*args)
930
930
  Quote.new(self, extract_selector(args).merge(:tag_name => "blockquote"))
931
931
  end
932
-
932
+
933
933
  #
934
934
  # @return [QuoteCollection]
935
935
  #
936
-
936
+
937
937
  def blockquotes(*args)
938
938
  QuoteCollection.new(self, extract_selector(args).merge(:tag_name => "blockquote"))
939
939
  end
940
-
940
+
941
941
  Watir.tag_to_class[:blockquote] = Quote
942
942
  #
943
943
  # @return [Body]
944
944
  #
945
-
945
+
946
946
  def body(*args)
947
947
  Body.new(self, extract_selector(args).merge(:tag_name => "body"))
948
948
  end
949
-
949
+
950
950
  #
951
951
  # @return [BodyCollection]
952
952
  #
953
-
953
+
954
954
  def bodys(*args)
955
955
  BodyCollection.new(self, extract_selector(args).merge(:tag_name => "body"))
956
956
  end
957
-
957
+
958
958
  Watir.tag_to_class[:body] = Body
959
959
  #
960
960
  # @return [BR]
961
961
  #
962
-
962
+
963
963
  def br(*args)
964
964
  BR.new(self, extract_selector(args).merge(:tag_name => "br"))
965
965
  end
966
-
966
+
967
967
  #
968
968
  # @return [BRCollection]
969
969
  #
970
-
970
+
971
971
  def brs(*args)
972
972
  BRCollection.new(self, extract_selector(args).merge(:tag_name => "br"))
973
973
  end
974
-
974
+
975
975
  Watir.tag_to_class[:br] = BR
976
976
  #
977
977
  # @return [Button]
978
978
  #
979
-
979
+
980
980
  def button(*args)
981
981
  Button.new(self, extract_selector(args).merge(:tag_name => "button"))
982
982
  end
983
-
983
+
984
984
  #
985
985
  # @return [ButtonCollection]
986
986
  #
987
-
987
+
988
988
  def buttons(*args)
989
989
  ButtonCollection.new(self, extract_selector(args).merge(:tag_name => "button"))
990
990
  end
991
-
991
+
992
992
  Watir.tag_to_class[:button] = Button
993
993
  #
994
994
  # @return [Canvas]
995
995
  #
996
-
996
+
997
997
  def canvas(*args)
998
998
  Canvas.new(self, extract_selector(args).merge(:tag_name => "canvas"))
999
999
  end
1000
-
1000
+
1001
1001
  #
1002
1002
  # @return [CanvasCollection]
1003
1003
  #
1004
-
1004
+
1005
1005
  def canvases(*args)
1006
1006
  CanvasCollection.new(self, extract_selector(args).merge(:tag_name => "canvas"))
1007
1007
  end
1008
-
1008
+
1009
1009
  Watir.tag_to_class[:canvas] = Canvas
1010
1010
  #
1011
1011
  # @return [TableCaption]
1012
1012
  #
1013
-
1013
+
1014
1014
  def caption(*args)
1015
1015
  TableCaption.new(self, extract_selector(args).merge(:tag_name => "caption"))
1016
1016
  end
1017
-
1017
+
1018
1018
  #
1019
1019
  # @return [TableCaptionCollection]
1020
1020
  #
1021
-
1021
+
1022
1022
  def captions(*args)
1023
1023
  TableCaptionCollection.new(self, extract_selector(args).merge(:tag_name => "caption"))
1024
1024
  end
1025
-
1025
+
1026
1026
  Watir.tag_to_class[:caption] = TableCaption
1027
1027
  #
1028
1028
  # @return [HTMLElement]
1029
1029
  #
1030
-
1030
+
1031
1031
  def cite(*args)
1032
1032
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "cite"))
1033
1033
  end
1034
-
1034
+
1035
1035
  #
1036
1036
  # @return [HTMLElementCollection]
1037
1037
  #
1038
-
1038
+
1039
1039
  def cites(*args)
1040
1040
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "cite"))
1041
1041
  end
1042
-
1042
+
1043
1043
  Watir.tag_to_class[:cite] = HTMLElement
1044
1044
  #
1045
1045
  # @return [HTMLElement]
1046
1046
  #
1047
-
1047
+
1048
1048
  def code(*args)
1049
1049
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "code"))
1050
1050
  end
1051
-
1051
+
1052
1052
  #
1053
1053
  # @return [HTMLElementCollection]
1054
1054
  #
1055
-
1055
+
1056
1056
  def codes(*args)
1057
1057
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "code"))
1058
1058
  end
1059
-
1059
+
1060
1060
  Watir.tag_to_class[:code] = HTMLElement
1061
1061
  #
1062
1062
  # @return [TableCol]
1063
1063
  #
1064
-
1064
+
1065
1065
  def col(*args)
1066
1066
  TableCol.new(self, extract_selector(args).merge(:tag_name => "col"))
1067
1067
  end
1068
-
1068
+
1069
1069
  #
1070
1070
  # @return [TableColCollection]
1071
1071
  #
1072
-
1072
+
1073
1073
  def cols(*args)
1074
1074
  TableColCollection.new(self, extract_selector(args).merge(:tag_name => "col"))
1075
1075
  end
1076
-
1076
+
1077
1077
  Watir.tag_to_class[:col] = TableCol
1078
1078
  #
1079
1079
  # @return [TableCol]
1080
1080
  #
1081
-
1081
+
1082
1082
  def colgroup(*args)
1083
1083
  TableCol.new(self, extract_selector(args).merge(:tag_name => "colgroup"))
1084
1084
  end
1085
-
1085
+
1086
1086
  #
1087
1087
  # @return [TableColCollection]
1088
1088
  #
1089
-
1089
+
1090
1090
  def colgroups(*args)
1091
1091
  TableColCollection.new(self, extract_selector(args).merge(:tag_name => "colgroup"))
1092
1092
  end
1093
-
1093
+
1094
1094
  Watir.tag_to_class[:colgroup] = TableCol
1095
1095
  #
1096
1096
  # @return [Command]
1097
1097
  #
1098
-
1098
+
1099
1099
  def command(*args)
1100
1100
  Command.new(self, extract_selector(args).merge(:tag_name => "command"))
1101
1101
  end
1102
-
1102
+
1103
1103
  #
1104
1104
  # @return [CommandCollection]
1105
1105
  #
1106
-
1106
+
1107
1107
  def commands(*args)
1108
1108
  CommandCollection.new(self, extract_selector(args).merge(:tag_name => "command"))
1109
1109
  end
1110
-
1110
+
1111
1111
  Watir.tag_to_class[:command] = Command
1112
1112
  #
1113
1113
  # @return [DataList]
1114
1114
  #
1115
-
1115
+
1116
1116
  def datalist(*args)
1117
1117
  DataList.new(self, extract_selector(args).merge(:tag_name => "datalist"))
1118
1118
  end
1119
-
1119
+
1120
1120
  #
1121
1121
  # @return [DataListCollection]
1122
1122
  #
1123
-
1123
+
1124
1124
  def datalists(*args)
1125
1125
  DataListCollection.new(self, extract_selector(args).merge(:tag_name => "datalist"))
1126
1126
  end
1127
-
1127
+
1128
1128
  Watir.tag_to_class[:datalist] = DataList
1129
1129
  #
1130
1130
  # @return [HTMLElement]
1131
1131
  #
1132
-
1132
+
1133
1133
  def dd(*args)
1134
1134
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dd"))
1135
1135
  end
1136
-
1136
+
1137
1137
  #
1138
1138
  # @return [HTMLElementCollection]
1139
1139
  #
1140
-
1140
+
1141
1141
  def dds(*args)
1142
1142
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dd"))
1143
1143
  end
1144
-
1144
+
1145
1145
  Watir.tag_to_class[:dd] = HTMLElement
1146
1146
  #
1147
1147
  # @return [Mod]
1148
1148
  #
1149
-
1149
+
1150
1150
  def del(*args)
1151
1151
  Mod.new(self, extract_selector(args).merge(:tag_name => "del"))
1152
1152
  end
1153
-
1153
+
1154
1154
  #
1155
1155
  # @return [ModCollection]
1156
1156
  #
1157
-
1157
+
1158
1158
  def dels(*args)
1159
1159
  ModCollection.new(self, extract_selector(args).merge(:tag_name => "del"))
1160
1160
  end
1161
-
1161
+
1162
1162
  Watir.tag_to_class[:del] = Mod
1163
1163
  #
1164
1164
  # @return [Details]
1165
1165
  #
1166
-
1166
+
1167
1167
  def details(*args)
1168
1168
  Details.new(self, extract_selector(args).merge(:tag_name => "details"))
1169
1169
  end
1170
-
1170
+
1171
1171
  #
1172
1172
  # @return [DetailsCollection]
1173
1173
  #
1174
-
1174
+
1175
1175
  def details(*args)
1176
1176
  DetailsCollection.new(self, extract_selector(args).merge(:tag_name => "details"))
1177
1177
  end
1178
-
1178
+
1179
1179
  Watir.tag_to_class[:details] = Details
1180
1180
  #
1181
1181
  # @return [HTMLElement]
1182
1182
  #
1183
-
1183
+
1184
1184
  def dfn(*args)
1185
1185
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dfn"))
1186
1186
  end
1187
-
1187
+
1188
1188
  #
1189
1189
  # @return [HTMLElementCollection]
1190
1190
  #
1191
-
1191
+
1192
1192
  def dfns(*args)
1193
1193
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dfn"))
1194
1194
  end
1195
-
1195
+
1196
1196
  Watir.tag_to_class[:dfn] = HTMLElement
1197
1197
  #
1198
1198
  # @return [Div]
1199
1199
  #
1200
-
1200
+
1201
1201
  def div(*args)
1202
1202
  Div.new(self, extract_selector(args).merge(:tag_name => "div"))
1203
1203
  end
1204
-
1204
+
1205
1205
  #
1206
1206
  # @return [DivCollection]
1207
1207
  #
1208
-
1208
+
1209
1209
  def divs(*args)
1210
1210
  DivCollection.new(self, extract_selector(args).merge(:tag_name => "div"))
1211
1211
  end
1212
-
1212
+
1213
1213
  Watir.tag_to_class[:div] = Div
1214
1214
  #
1215
1215
  # @return [DList]
1216
1216
  #
1217
-
1217
+
1218
1218
  def dl(*args)
1219
1219
  DList.new(self, extract_selector(args).merge(:tag_name => "dl"))
1220
1220
  end
1221
-
1221
+
1222
1222
  #
1223
1223
  # @return [DListCollection]
1224
1224
  #
1225
-
1225
+
1226
1226
  def dls(*args)
1227
1227
  DListCollection.new(self, extract_selector(args).merge(:tag_name => "dl"))
1228
1228
  end
1229
-
1229
+
1230
1230
  Watir.tag_to_class[:dl] = DList
1231
1231
  #
1232
1232
  # @return [HTMLElement]
1233
1233
  #
1234
-
1234
+
1235
1235
  def dt(*args)
1236
1236
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "dt"))
1237
1237
  end
1238
-
1238
+
1239
1239
  #
1240
1240
  # @return [HTMLElementCollection]
1241
1241
  #
1242
-
1242
+
1243
1243
  def dts(*args)
1244
1244
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "dt"))
1245
1245
  end
1246
-
1246
+
1247
1247
  Watir.tag_to_class[:dt] = HTMLElement
1248
1248
  #
1249
1249
  # @return [HTMLElement]
1250
1250
  #
1251
-
1251
+
1252
1252
  def em(*args)
1253
1253
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "em"))
1254
1254
  end
1255
-
1255
+
1256
1256
  #
1257
1257
  # @return [HTMLElementCollection]
1258
1258
  #
1259
-
1259
+
1260
1260
  def ems(*args)
1261
1261
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "em"))
1262
1262
  end
1263
-
1263
+
1264
1264
  Watir.tag_to_class[:em] = HTMLElement
1265
1265
  #
1266
1266
  # @return [Embed]
1267
1267
  #
1268
-
1268
+
1269
1269
  def embed(*args)
1270
1270
  Embed.new(self, extract_selector(args).merge(:tag_name => "embed"))
1271
1271
  end
1272
-
1272
+
1273
1273
  #
1274
1274
  # @return [EmbedCollection]
1275
1275
  #
1276
-
1276
+
1277
1277
  def embeds(*args)
1278
1278
  EmbedCollection.new(self, extract_selector(args).merge(:tag_name => "embed"))
1279
1279
  end
1280
-
1280
+
1281
1281
  Watir.tag_to_class[:embed] = Embed
1282
1282
  #
1283
1283
  # @return [FieldSet]
1284
1284
  #
1285
-
1285
+
1286
1286
  def fieldset(*args)
1287
1287
  FieldSet.new(self, extract_selector(args).merge(:tag_name => "fieldset"))
1288
1288
  end
1289
-
1289
+
1290
1290
  #
1291
1291
  # @return [FieldSetCollection]
1292
1292
  #
1293
-
1293
+
1294
1294
  def fieldsets(*args)
1295
1295
  FieldSetCollection.new(self, extract_selector(args).merge(:tag_name => "fieldset"))
1296
1296
  end
1297
-
1297
+
1298
1298
  Watir.tag_to_class[:fieldset] = FieldSet
1299
1299
  #
1300
1300
  # @return [HTMLElement]
1301
1301
  #
1302
-
1302
+
1303
1303
  def figcaption(*args)
1304
1304
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "figcaption"))
1305
1305
  end
1306
-
1306
+
1307
1307
  #
1308
1308
  # @return [HTMLElementCollection]
1309
1309
  #
1310
-
1310
+
1311
1311
  def figcaptions(*args)
1312
1312
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "figcaption"))
1313
1313
  end
1314
-
1314
+
1315
1315
  Watir.tag_to_class[:figcaption] = HTMLElement
1316
1316
  #
1317
1317
  # @return [HTMLElement]
1318
1318
  #
1319
-
1319
+
1320
1320
  def figure(*args)
1321
1321
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "figure"))
1322
1322
  end
1323
-
1323
+
1324
1324
  #
1325
1325
  # @return [HTMLElementCollection]
1326
1326
  #
1327
-
1327
+
1328
1328
  def figures(*args)
1329
1329
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "figure"))
1330
1330
  end
1331
-
1331
+
1332
1332
  Watir.tag_to_class[:figure] = HTMLElement
1333
1333
  #
1334
1334
  # @return [HTMLElement]
1335
1335
  #
1336
-
1336
+
1337
1337
  def footer(*args)
1338
1338
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "footer"))
1339
1339
  end
1340
-
1340
+
1341
1341
  #
1342
1342
  # @return [HTMLElementCollection]
1343
1343
  #
1344
-
1344
+
1345
1345
  def footers(*args)
1346
1346
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "footer"))
1347
1347
  end
1348
-
1348
+
1349
1349
  Watir.tag_to_class[:footer] = HTMLElement
1350
1350
  #
1351
1351
  # @return [Form]
1352
1352
  #
1353
-
1353
+
1354
1354
  def form(*args)
1355
1355
  Form.new(self, extract_selector(args).merge(:tag_name => "form"))
1356
1356
  end
1357
-
1357
+
1358
1358
  #
1359
1359
  # @return [FormCollection]
1360
1360
  #
1361
-
1361
+
1362
1362
  def forms(*args)
1363
1363
  FormCollection.new(self, extract_selector(args).merge(:tag_name => "form"))
1364
1364
  end
1365
-
1365
+
1366
1366
  Watir.tag_to_class[:form] = Form
1367
1367
  #
1368
1368
  # @return [Heading]
1369
1369
  #
1370
-
1370
+
1371
1371
  def h1(*args)
1372
1372
  Heading.new(self, extract_selector(args).merge(:tag_name => "h1"))
1373
1373
  end
1374
-
1374
+
1375
1375
  #
1376
1376
  # @return [HeadingCollection]
1377
1377
  #
1378
-
1378
+
1379
1379
  def h1s(*args)
1380
1380
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h1"))
1381
1381
  end
1382
-
1382
+
1383
1383
  Watir.tag_to_class[:h1] = Heading
1384
1384
  #
1385
1385
  # @return [Heading]
1386
1386
  #
1387
-
1387
+
1388
1388
  def h2(*args)
1389
1389
  Heading.new(self, extract_selector(args).merge(:tag_name => "h2"))
1390
1390
  end
1391
-
1391
+
1392
1392
  #
1393
1393
  # @return [HeadingCollection]
1394
1394
  #
1395
-
1395
+
1396
1396
  def h2s(*args)
1397
1397
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h2"))
1398
1398
  end
1399
-
1399
+
1400
1400
  Watir.tag_to_class[:h2] = Heading
1401
1401
  #
1402
1402
  # @return [Heading]
1403
1403
  #
1404
-
1404
+
1405
1405
  def h3(*args)
1406
1406
  Heading.new(self, extract_selector(args).merge(:tag_name => "h3"))
1407
1407
  end
1408
-
1408
+
1409
1409
  #
1410
1410
  # @return [HeadingCollection]
1411
1411
  #
1412
-
1412
+
1413
1413
  def h3s(*args)
1414
1414
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h3"))
1415
1415
  end
1416
-
1416
+
1417
1417
  Watir.tag_to_class[:h3] = Heading
1418
1418
  #
1419
1419
  # @return [Heading]
1420
1420
  #
1421
-
1421
+
1422
1422
  def h4(*args)
1423
1423
  Heading.new(self, extract_selector(args).merge(:tag_name => "h4"))
1424
1424
  end
1425
-
1425
+
1426
1426
  #
1427
1427
  # @return [HeadingCollection]
1428
1428
  #
1429
-
1429
+
1430
1430
  def h4s(*args)
1431
1431
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h4"))
1432
1432
  end
1433
-
1433
+
1434
1434
  Watir.tag_to_class[:h4] = Heading
1435
1435
  #
1436
1436
  # @return [Heading]
1437
1437
  #
1438
-
1438
+
1439
1439
  def h5(*args)
1440
1440
  Heading.new(self, extract_selector(args).merge(:tag_name => "h5"))
1441
1441
  end
1442
-
1442
+
1443
1443
  #
1444
1444
  # @return [HeadingCollection]
1445
1445
  #
1446
-
1446
+
1447
1447
  def h5s(*args)
1448
1448
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h5"))
1449
1449
  end
1450
-
1450
+
1451
1451
  Watir.tag_to_class[:h5] = Heading
1452
1452
  #
1453
1453
  # @return [Heading]
1454
1454
  #
1455
-
1455
+
1456
1456
  def h6(*args)
1457
1457
  Heading.new(self, extract_selector(args).merge(:tag_name => "h6"))
1458
1458
  end
1459
-
1459
+
1460
1460
  #
1461
1461
  # @return [HeadingCollection]
1462
1462
  #
1463
-
1463
+
1464
1464
  def h6s(*args)
1465
1465
  HeadingCollection.new(self, extract_selector(args).merge(:tag_name => "h6"))
1466
1466
  end
1467
-
1467
+
1468
1468
  Watir.tag_to_class[:h6] = Heading
1469
1469
  #
1470
1470
  # @return [Head]
1471
1471
  #
1472
-
1472
+
1473
1473
  def head(*args)
1474
1474
  Head.new(self, extract_selector(args).merge(:tag_name => "head"))
1475
1475
  end
1476
-
1476
+
1477
1477
  #
1478
1478
  # @return [HeadCollection]
1479
1479
  #
1480
-
1480
+
1481
1481
  def heads(*args)
1482
1482
  HeadCollection.new(self, extract_selector(args).merge(:tag_name => "head"))
1483
1483
  end
1484
-
1484
+
1485
1485
  Watir.tag_to_class[:head] = Head
1486
1486
  #
1487
1487
  # @return [HTMLElement]
1488
1488
  #
1489
-
1489
+
1490
1490
  def header(*args)
1491
1491
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "header"))
1492
1492
  end
1493
-
1493
+
1494
1494
  #
1495
1495
  # @return [HTMLElementCollection]
1496
1496
  #
1497
-
1497
+
1498
1498
  def headers(*args)
1499
1499
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "header"))
1500
1500
  end
1501
-
1501
+
1502
1502
  Watir.tag_to_class[:header] = HTMLElement
1503
1503
  #
1504
1504
  # @return [HTMLElement]
1505
1505
  #
1506
-
1506
+
1507
1507
  def hgroup(*args)
1508
1508
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "hgroup"))
1509
1509
  end
1510
-
1510
+
1511
1511
  #
1512
1512
  # @return [HTMLElementCollection]
1513
1513
  #
1514
-
1514
+
1515
1515
  def hgroups(*args)
1516
1516
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "hgroup"))
1517
1517
  end
1518
-
1518
+
1519
1519
  Watir.tag_to_class[:hgroup] = HTMLElement
1520
1520
  #
1521
1521
  # @return [HR]
1522
1522
  #
1523
-
1523
+
1524
1524
  def hr(*args)
1525
1525
  HR.new(self, extract_selector(args).merge(:tag_name => "hr"))
1526
1526
  end
1527
-
1527
+
1528
1528
  #
1529
1529
  # @return [HRCollection]
1530
1530
  #
1531
-
1531
+
1532
1532
  def hrs(*args)
1533
1533
  HRCollection.new(self, extract_selector(args).merge(:tag_name => "hr"))
1534
1534
  end
1535
-
1535
+
1536
1536
  Watir.tag_to_class[:hr] = HR
1537
1537
  #
1538
1538
  # @return [Html]
1539
1539
  #
1540
-
1540
+
1541
1541
  def html(*args)
1542
1542
  Html.new(self, extract_selector(args).merge(:tag_name => "html"))
1543
1543
  end
1544
-
1544
+
1545
1545
  #
1546
1546
  # @return [HtmlCollection]
1547
1547
  #
1548
-
1548
+
1549
1549
  def htmls(*args)
1550
1550
  HtmlCollection.new(self, extract_selector(args).merge(:tag_name => "html"))
1551
1551
  end
1552
-
1552
+
1553
1553
  Watir.tag_to_class[:html] = Html
1554
1554
  #
1555
1555
  # @return [HTMLElement]
1556
1556
  #
1557
-
1557
+
1558
1558
  def i(*args)
1559
1559
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "i"))
1560
1560
  end
1561
-
1561
+
1562
1562
  #
1563
1563
  # @return [HTMLElementCollection]
1564
1564
  #
1565
-
1565
+
1566
1566
  def is(*args)
1567
1567
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "i"))
1568
1568
  end
1569
-
1569
+
1570
1570
  Watir.tag_to_class[:i] = HTMLElement
1571
1571
  #
1572
1572
  # @return [IFrame]
1573
1573
  #
1574
-
1574
+
1575
1575
  def iframe(*args)
1576
1576
  IFrame.new(self, extract_selector(args).merge(:tag_name => "iframe"))
1577
1577
  end
1578
-
1578
+
1579
1579
  #
1580
1580
  # @return [IFrameCollection]
1581
1581
  #
1582
-
1582
+
1583
1583
  def iframes(*args)
1584
1584
  IFrameCollection.new(self, extract_selector(args).merge(:tag_name => "iframe"))
1585
1585
  end
1586
-
1586
+
1587
1587
  Watir.tag_to_class[:iframe] = IFrame
1588
1588
  #
1589
1589
  # @return [Image]
1590
1590
  #
1591
-
1592
- def image(*args)
1591
+
1592
+ def img(*args)
1593
1593
  Image.new(self, extract_selector(args).merge(:tag_name => "img"))
1594
1594
  end
1595
-
1595
+
1596
1596
  #
1597
1597
  # @return [ImageCollection]
1598
1598
  #
1599
-
1600
- def images(*args)
1599
+
1600
+ def imgs(*args)
1601
1601
  ImageCollection.new(self, extract_selector(args).merge(:tag_name => "img"))
1602
1602
  end
1603
-
1603
+
1604
1604
  Watir.tag_to_class[:img] = Image
1605
1605
  #
1606
1606
  # @return [Input]
1607
1607
  #
1608
-
1608
+
1609
1609
  def input(*args)
1610
1610
  Input.new(self, extract_selector(args).merge(:tag_name => "input"))
1611
1611
  end
1612
-
1612
+
1613
1613
  #
1614
1614
  # @return [InputCollection]
1615
1615
  #
1616
-
1616
+
1617
1617
  def inputs(*args)
1618
1618
  InputCollection.new(self, extract_selector(args).merge(:tag_name => "input"))
1619
1619
  end
1620
-
1620
+
1621
1621
  Watir.tag_to_class[:input] = Input
1622
1622
  #
1623
1623
  # @return [Mod]
1624
1624
  #
1625
-
1625
+
1626
1626
  def ins(*args)
1627
1627
  Mod.new(self, extract_selector(args).merge(:tag_name => "ins"))
1628
1628
  end
1629
-
1629
+
1630
1630
  #
1631
1631
  # @return [ModCollection]
1632
1632
  #
1633
-
1633
+
1634
1634
  def inses(*args)
1635
1635
  ModCollection.new(self, extract_selector(args).merge(:tag_name => "ins"))
1636
1636
  end
1637
-
1637
+
1638
1638
  Watir.tag_to_class[:ins] = Mod
1639
1639
  #
1640
1640
  # @return [HTMLElement]
1641
1641
  #
1642
-
1642
+
1643
1643
  def kbd(*args)
1644
1644
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "kbd"))
1645
1645
  end
1646
-
1646
+
1647
1647
  #
1648
1648
  # @return [HTMLElementCollection]
1649
1649
  #
1650
-
1650
+
1651
1651
  def kbds(*args)
1652
1652
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "kbd"))
1653
1653
  end
1654
-
1654
+
1655
1655
  Watir.tag_to_class[:kbd] = HTMLElement
1656
1656
  #
1657
1657
  # @return [Keygen]
1658
1658
  #
1659
-
1659
+
1660
1660
  def keygen(*args)
1661
1661
  Keygen.new(self, extract_selector(args).merge(:tag_name => "keygen"))
1662
1662
  end
1663
-
1663
+
1664
1664
  #
1665
1665
  # @return [KeygenCollection]
1666
1666
  #
1667
-
1667
+
1668
1668
  def keygens(*args)
1669
1669
  KeygenCollection.new(self, extract_selector(args).merge(:tag_name => "keygen"))
1670
1670
  end
1671
-
1671
+
1672
1672
  Watir.tag_to_class[:keygen] = Keygen
1673
1673
  #
1674
1674
  # @return [Label]
1675
1675
  #
1676
-
1676
+
1677
1677
  def label(*args)
1678
1678
  Label.new(self, extract_selector(args).merge(:tag_name => "label"))
1679
1679
  end
1680
-
1680
+
1681
1681
  #
1682
1682
  # @return [LabelCollection]
1683
1683
  #
1684
-
1684
+
1685
1685
  def labels(*args)
1686
1686
  LabelCollection.new(self, extract_selector(args).merge(:tag_name => "label"))
1687
1687
  end
1688
-
1688
+
1689
1689
  Watir.tag_to_class[:label] = Label
1690
1690
  #
1691
1691
  # @return [Legend]
1692
1692
  #
1693
-
1693
+
1694
1694
  def legend(*args)
1695
1695
  Legend.new(self, extract_selector(args).merge(:tag_name => "legend"))
1696
1696
  end
1697
-
1697
+
1698
1698
  #
1699
1699
  # @return [LegendCollection]
1700
1700
  #
1701
-
1701
+
1702
1702
  def legends(*args)
1703
1703
  LegendCollection.new(self, extract_selector(args).merge(:tag_name => "legend"))
1704
1704
  end
1705
-
1705
+
1706
1706
  Watir.tag_to_class[:legend] = Legend
1707
1707
  #
1708
1708
  # @return [LI]
1709
1709
  #
1710
-
1710
+
1711
1711
  def li(*args)
1712
1712
  LI.new(self, extract_selector(args).merge(:tag_name => "li"))
1713
1713
  end
1714
-
1714
+
1715
1715
  #
1716
1716
  # @return [LICollection]
1717
1717
  #
1718
-
1718
+
1719
1719
  def lis(*args)
1720
1720
  LICollection.new(self, extract_selector(args).merge(:tag_name => "li"))
1721
1721
  end
1722
-
1722
+
1723
1723
  Watir.tag_to_class[:li] = LI
1724
1724
  #
1725
1725
  # @return [Map]
1726
1726
  #
1727
-
1727
+
1728
1728
  def map(*args)
1729
1729
  Map.new(self, extract_selector(args).merge(:tag_name => "map"))
1730
1730
  end
1731
-
1731
+
1732
1732
  #
1733
1733
  # @return [MapCollection]
1734
1734
  #
1735
-
1735
+
1736
1736
  def maps(*args)
1737
1737
  MapCollection.new(self, extract_selector(args).merge(:tag_name => "map"))
1738
1738
  end
1739
-
1739
+
1740
1740
  Watir.tag_to_class[:map] = Map
1741
1741
  #
1742
1742
  # @return [HTMLElement]
1743
1743
  #
1744
-
1744
+
1745
1745
  def mark(*args)
1746
1746
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "mark"))
1747
1747
  end
1748
-
1748
+
1749
1749
  #
1750
1750
  # @return [HTMLElementCollection]
1751
1751
  #
1752
-
1752
+
1753
1753
  def marks(*args)
1754
1754
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "mark"))
1755
1755
  end
1756
-
1756
+
1757
1757
  Watir.tag_to_class[:mark] = HTMLElement
1758
1758
  #
1759
1759
  # @return [Menu]
1760
1760
  #
1761
-
1761
+
1762
1762
  def menu(*args)
1763
1763
  Menu.new(self, extract_selector(args).merge(:tag_name => "menu"))
1764
1764
  end
1765
-
1765
+
1766
1766
  #
1767
1767
  # @return [MenuCollection]
1768
1768
  #
1769
-
1769
+
1770
1770
  def menus(*args)
1771
1771
  MenuCollection.new(self, extract_selector(args).merge(:tag_name => "menu"))
1772
1772
  end
1773
-
1773
+
1774
1774
  Watir.tag_to_class[:menu] = Menu
1775
1775
  #
1776
1776
  # @return [Meta]
1777
1777
  #
1778
-
1778
+
1779
1779
  def meta(*args)
1780
1780
  Meta.new(self, extract_selector(args).merge(:tag_name => "meta"))
1781
1781
  end
1782
-
1782
+
1783
1783
  #
1784
1784
  # @return [MetaCollection]
1785
1785
  #
1786
-
1786
+
1787
1787
  def metas(*args)
1788
1788
  MetaCollection.new(self, extract_selector(args).merge(:tag_name => "meta"))
1789
1789
  end
1790
-
1790
+
1791
1791
  Watir.tag_to_class[:meta] = Meta
1792
1792
  #
1793
1793
  # @return [Meter]
1794
1794
  #
1795
-
1795
+
1796
1796
  def meter(*args)
1797
1797
  Meter.new(self, extract_selector(args).merge(:tag_name => "meter"))
1798
1798
  end
1799
-
1799
+
1800
1800
  #
1801
1801
  # @return [MeterCollection]
1802
1802
  #
1803
-
1803
+
1804
1804
  def meters(*args)
1805
1805
  MeterCollection.new(self, extract_selector(args).merge(:tag_name => "meter"))
1806
1806
  end
1807
-
1807
+
1808
1808
  Watir.tag_to_class[:meter] = Meter
1809
1809
  #
1810
1810
  # @return [HTMLElement]
1811
1811
  #
1812
-
1812
+
1813
1813
  def nav(*args)
1814
1814
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "nav"))
1815
1815
  end
1816
-
1816
+
1817
1817
  #
1818
1818
  # @return [HTMLElementCollection]
1819
1819
  #
1820
-
1820
+
1821
1821
  def navs(*args)
1822
1822
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "nav"))
1823
1823
  end
1824
-
1824
+
1825
1825
  Watir.tag_to_class[:nav] = HTMLElement
1826
1826
  #
1827
1827
  # @return [HTMLElement]
1828
1828
  #
1829
-
1829
+
1830
1830
  def noscript(*args)
1831
1831
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "noscript"))
1832
1832
  end
1833
-
1833
+
1834
1834
  #
1835
1835
  # @return [HTMLElementCollection]
1836
1836
  #
1837
-
1837
+
1838
1838
  def noscripts(*args)
1839
1839
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "noscript"))
1840
1840
  end
1841
-
1841
+
1842
1842
  Watir.tag_to_class[:noscript] = HTMLElement
1843
1843
  #
1844
1844
  # @return [Object]
1845
1845
  #
1846
-
1846
+
1847
1847
  def object(*args)
1848
1848
  Object.new(self, extract_selector(args).merge(:tag_name => "object"))
1849
1849
  end
1850
-
1850
+
1851
1851
  #
1852
1852
  # @return [ObjectCollection]
1853
1853
  #
1854
-
1854
+
1855
1855
  def objects(*args)
1856
1856
  ObjectCollection.new(self, extract_selector(args).merge(:tag_name => "object"))
1857
1857
  end
1858
-
1858
+
1859
1859
  Watir.tag_to_class[:object] = Object
1860
1860
  #
1861
1861
  # @return [OList]
1862
1862
  #
1863
-
1863
+
1864
1864
  def ol(*args)
1865
1865
  OList.new(self, extract_selector(args).merge(:tag_name => "ol"))
1866
1866
  end
1867
-
1867
+
1868
1868
  #
1869
1869
  # @return [OListCollection]
1870
1870
  #
1871
-
1871
+
1872
1872
  def ols(*args)
1873
1873
  OListCollection.new(self, extract_selector(args).merge(:tag_name => "ol"))
1874
1874
  end
1875
-
1875
+
1876
1876
  Watir.tag_to_class[:ol] = OList
1877
1877
  #
1878
1878
  # @return [OptGroup]
1879
1879
  #
1880
-
1880
+
1881
1881
  def optgroup(*args)
1882
1882
  OptGroup.new(self, extract_selector(args).merge(:tag_name => "optgroup"))
1883
1883
  end
1884
-
1884
+
1885
1885
  #
1886
1886
  # @return [OptGroupCollection]
1887
1887
  #
1888
-
1888
+
1889
1889
  def optgroups(*args)
1890
1890
  OptGroupCollection.new(self, extract_selector(args).merge(:tag_name => "optgroup"))
1891
1891
  end
1892
-
1892
+
1893
1893
  Watir.tag_to_class[:optgroup] = OptGroup
1894
1894
  #
1895
1895
  # @return [Option]
1896
1896
  #
1897
-
1897
+
1898
1898
  def option(*args)
1899
1899
  Option.new(self, extract_selector(args).merge(:tag_name => "option"))
1900
1900
  end
1901
-
1901
+
1902
1902
  #
1903
1903
  # @return [OptionCollection]
1904
1904
  #
1905
-
1905
+
1906
1906
  def options(*args)
1907
1907
  OptionCollection.new(self, extract_selector(args).merge(:tag_name => "option"))
1908
1908
  end
1909
-
1909
+
1910
1910
  Watir.tag_to_class[:option] = Option
1911
1911
  #
1912
1912
  # @return [Output]
1913
1913
  #
1914
-
1914
+
1915
1915
  def output(*args)
1916
1916
  Output.new(self, extract_selector(args).merge(:tag_name => "output"))
1917
1917
  end
1918
-
1918
+
1919
1919
  #
1920
1920
  # @return [OutputCollection]
1921
1921
  #
1922
-
1922
+
1923
1923
  def outputs(*args)
1924
1924
  OutputCollection.new(self, extract_selector(args).merge(:tag_name => "output"))
1925
1925
  end
1926
-
1926
+
1927
1927
  Watir.tag_to_class[:output] = Output
1928
1928
  #
1929
1929
  # @return [Paragraph]
1930
1930
  #
1931
-
1931
+
1932
1932
  def p(*args)
1933
1933
  Paragraph.new(self, extract_selector(args).merge(:tag_name => "p"))
1934
1934
  end
1935
-
1935
+
1936
1936
  #
1937
1937
  # @return [ParagraphCollection]
1938
1938
  #
1939
-
1939
+
1940
1940
  def ps(*args)
1941
1941
  ParagraphCollection.new(self, extract_selector(args).merge(:tag_name => "p"))
1942
1942
  end
1943
-
1943
+
1944
1944
  Watir.tag_to_class[:p] = Paragraph
1945
1945
  #
1946
1946
  # @return [Param]
1947
1947
  #
1948
-
1948
+
1949
1949
  def param(*args)
1950
1950
  Param.new(self, extract_selector(args).merge(:tag_name => "param"))
1951
1951
  end
1952
-
1952
+
1953
1953
  #
1954
1954
  # @return [ParamCollection]
1955
1955
  #
1956
-
1956
+
1957
1957
  def params(*args)
1958
1958
  ParamCollection.new(self, extract_selector(args).merge(:tag_name => "param"))
1959
1959
  end
1960
-
1960
+
1961
1961
  Watir.tag_to_class[:param] = Param
1962
1962
  #
1963
1963
  # @return [Pre]
1964
1964
  #
1965
-
1965
+
1966
1966
  def pre(*args)
1967
1967
  Pre.new(self, extract_selector(args).merge(:tag_name => "pre"))
1968
1968
  end
1969
-
1969
+
1970
1970
  #
1971
1971
  # @return [PreCollection]
1972
1972
  #
1973
-
1973
+
1974
1974
  def pres(*args)
1975
1975
  PreCollection.new(self, extract_selector(args).merge(:tag_name => "pre"))
1976
1976
  end
1977
-
1977
+
1978
1978
  Watir.tag_to_class[:pre] = Pre
1979
1979
  #
1980
1980
  # @return [Progress]
1981
1981
  #
1982
-
1982
+
1983
1983
  def progress(*args)
1984
1984
  Progress.new(self, extract_selector(args).merge(:tag_name => "progress"))
1985
1985
  end
1986
-
1986
+
1987
1987
  #
1988
1988
  # @return [ProgressCollection]
1989
1989
  #
1990
-
1990
+
1991
1991
  def progresses(*args)
1992
1992
  ProgressCollection.new(self, extract_selector(args).merge(:tag_name => "progress"))
1993
1993
  end
1994
-
1994
+
1995
1995
  Watir.tag_to_class[:progress] = Progress
1996
1996
  #
1997
1997
  # @return [Quote]
1998
1998
  #
1999
-
1999
+
2000
2000
  def q(*args)
2001
2001
  Quote.new(self, extract_selector(args).merge(:tag_name => "q"))
2002
2002
  end
2003
-
2003
+
2004
2004
  #
2005
2005
  # @return [QuoteCollection]
2006
2006
  #
2007
-
2007
+
2008
2008
  def qs(*args)
2009
2009
  QuoteCollection.new(self, extract_selector(args).merge(:tag_name => "q"))
2010
2010
  end
2011
-
2011
+
2012
2012
  Watir.tag_to_class[:q] = Quote
2013
2013
  #
2014
2014
  # @return [HTMLElement]
2015
2015
  #
2016
-
2016
+
2017
2017
  def rp(*args)
2018
2018
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "rp"))
2019
2019
  end
2020
-
2020
+
2021
2021
  #
2022
2022
  # @return [HTMLElementCollection]
2023
2023
  #
2024
-
2024
+
2025
2025
  def rps(*args)
2026
2026
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "rp"))
2027
2027
  end
2028
-
2028
+
2029
2029
  Watir.tag_to_class[:rp] = HTMLElement
2030
2030
  #
2031
2031
  # @return [HTMLElement]
2032
2032
  #
2033
-
2033
+
2034
2034
  def rt(*args)
2035
2035
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "rt"))
2036
2036
  end
2037
-
2037
+
2038
2038
  #
2039
2039
  # @return [HTMLElementCollection]
2040
2040
  #
2041
-
2041
+
2042
2042
  def rts(*args)
2043
2043
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "rt"))
2044
2044
  end
2045
-
2045
+
2046
2046
  Watir.tag_to_class[:rt] = HTMLElement
2047
2047
  #
2048
2048
  # @return [HTMLElement]
2049
2049
  #
2050
-
2050
+
2051
2051
  def ruby(*args)
2052
2052
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "ruby"))
2053
2053
  end
2054
-
2054
+
2055
2055
  #
2056
2056
  # @return [HTMLElementCollection]
2057
2057
  #
2058
-
2058
+
2059
2059
  def rubies(*args)
2060
2060
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "ruby"))
2061
2061
  end
2062
-
2062
+
2063
2063
  Watir.tag_to_class[:ruby] = HTMLElement
2064
2064
  #
2065
2065
  # @return [HTMLElement]
2066
2066
  #
2067
-
2067
+
2068
2068
  def samp(*args)
2069
2069
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "samp"))
2070
2070
  end
2071
-
2071
+
2072
2072
  #
2073
2073
  # @return [HTMLElementCollection]
2074
2074
  #
2075
-
2075
+
2076
2076
  def samps(*args)
2077
2077
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "samp"))
2078
2078
  end
2079
-
2079
+
2080
2080
  Watir.tag_to_class[:samp] = HTMLElement
2081
2081
  #
2082
2082
  # @return [Script]
2083
2083
  #
2084
-
2084
+
2085
2085
  def script(*args)
2086
2086
  Script.new(self, extract_selector(args).merge(:tag_name => "script"))
2087
2087
  end
2088
-
2088
+
2089
2089
  #
2090
2090
  # @return [ScriptCollection]
2091
2091
  #
2092
-
2092
+
2093
2093
  def scripts(*args)
2094
2094
  ScriptCollection.new(self, extract_selector(args).merge(:tag_name => "script"))
2095
2095
  end
2096
-
2096
+
2097
2097
  Watir.tag_to_class[:script] = Script
2098
2098
  #
2099
2099
  # @return [HTMLElement]
2100
2100
  #
2101
-
2101
+
2102
2102
  def section(*args)
2103
2103
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "section"))
2104
2104
  end
2105
-
2105
+
2106
2106
  #
2107
2107
  # @return [HTMLElementCollection]
2108
2108
  #
2109
-
2109
+
2110
2110
  def sections(*args)
2111
2111
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "section"))
2112
2112
  end
2113
-
2113
+
2114
2114
  Watir.tag_to_class[:section] = HTMLElement
2115
2115
  #
2116
2116
  # @return [Select]
2117
2117
  #
2118
-
2118
+
2119
2119
  def select(*args)
2120
2120
  Select.new(self, extract_selector(args).merge(:tag_name => "select"))
2121
2121
  end
2122
-
2122
+
2123
2123
  #
2124
2124
  # @return [SelectCollection]
2125
2125
  #
2126
-
2126
+
2127
2127
  def selects(*args)
2128
2128
  SelectCollection.new(self, extract_selector(args).merge(:tag_name => "select"))
2129
2129
  end
2130
-
2130
+
2131
2131
  Watir.tag_to_class[:select] = Select
2132
2132
  #
2133
2133
  # @return [HTMLElement]
2134
2134
  #
2135
-
2135
+
2136
2136
  def small(*args)
2137
2137
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "small"))
2138
2138
  end
2139
-
2139
+
2140
2140
  #
2141
2141
  # @return [HTMLElementCollection]
2142
2142
  #
2143
-
2143
+
2144
2144
  def smalls(*args)
2145
2145
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "small"))
2146
2146
  end
2147
-
2147
+
2148
2148
  Watir.tag_to_class[:small] = HTMLElement
2149
2149
  #
2150
2150
  # @return [Source]
2151
2151
  #
2152
-
2152
+
2153
2153
  def source(*args)
2154
2154
  Source.new(self, extract_selector(args).merge(:tag_name => "source"))
2155
2155
  end
2156
-
2156
+
2157
2157
  #
2158
2158
  # @return [SourceCollection]
2159
2159
  #
2160
-
2160
+
2161
2161
  def sources(*args)
2162
2162
  SourceCollection.new(self, extract_selector(args).merge(:tag_name => "source"))
2163
2163
  end
2164
-
2164
+
2165
2165
  Watir.tag_to_class[:source] = Source
2166
2166
  #
2167
2167
  # @return [Span]
2168
2168
  #
2169
-
2169
+
2170
2170
  def span(*args)
2171
2171
  Span.new(self, extract_selector(args).merge(:tag_name => "span"))
2172
2172
  end
2173
-
2173
+
2174
2174
  #
2175
2175
  # @return [SpanCollection]
2176
2176
  #
2177
-
2177
+
2178
2178
  def spans(*args)
2179
2179
  SpanCollection.new(self, extract_selector(args).merge(:tag_name => "span"))
2180
2180
  end
2181
-
2181
+
2182
2182
  Watir.tag_to_class[:span] = Span
2183
2183
  #
2184
2184
  # @return [HTMLElement]
2185
2185
  #
2186
-
2186
+
2187
2187
  def strong(*args)
2188
2188
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "strong"))
2189
2189
  end
2190
-
2190
+
2191
2191
  #
2192
2192
  # @return [HTMLElementCollection]
2193
2193
  #
2194
-
2194
+
2195
2195
  def strongs(*args)
2196
2196
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "strong"))
2197
2197
  end
2198
-
2198
+
2199
2199
  Watir.tag_to_class[:strong] = HTMLElement
2200
2200
  #
2201
2201
  # @return [Style]
2202
2202
  #
2203
-
2203
+
2204
2204
  def style(*args)
2205
2205
  Style.new(self, extract_selector(args).merge(:tag_name => "style"))
2206
2206
  end
2207
-
2207
+
2208
2208
  #
2209
2209
  # @return [StyleCollection]
2210
2210
  #
2211
-
2211
+
2212
2212
  def styles(*args)
2213
2213
  StyleCollection.new(self, extract_selector(args).merge(:tag_name => "style"))
2214
2214
  end
2215
-
2215
+
2216
2216
  Watir.tag_to_class[:style] = Style
2217
2217
  #
2218
2218
  # @return [HTMLElement]
2219
2219
  #
2220
-
2220
+
2221
2221
  def sub(*args)
2222
2222
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "sub"))
2223
2223
  end
2224
-
2224
+
2225
2225
  #
2226
2226
  # @return [HTMLElementCollection]
2227
2227
  #
2228
-
2228
+
2229
2229
  def subs(*args)
2230
2230
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "sub"))
2231
2231
  end
2232
-
2232
+
2233
2233
  Watir.tag_to_class[:sub] = HTMLElement
2234
2234
  #
2235
2235
  # @return [HTMLElement]
2236
2236
  #
2237
-
2237
+
2238
2238
  def summary(*args)
2239
2239
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "summary"))
2240
2240
  end
2241
-
2241
+
2242
2242
  #
2243
2243
  # @return [HTMLElementCollection]
2244
2244
  #
2245
-
2245
+
2246
2246
  def summaries(*args)
2247
2247
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "summary"))
2248
2248
  end
2249
-
2249
+
2250
2250
  Watir.tag_to_class[:summary] = HTMLElement
2251
2251
  #
2252
2252
  # @return [HTMLElement]
2253
2253
  #
2254
-
2254
+
2255
2255
  def sup(*args)
2256
2256
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "sup"))
2257
2257
  end
2258
-
2258
+
2259
2259
  #
2260
2260
  # @return [HTMLElementCollection]
2261
2261
  #
2262
-
2262
+
2263
2263
  def sups(*args)
2264
2264
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "sup"))
2265
2265
  end
2266
-
2266
+
2267
2267
  Watir.tag_to_class[:sup] = HTMLElement
2268
2268
  #
2269
2269
  # @return [Table]
2270
2270
  #
2271
-
2271
+
2272
2272
  def table(*args)
2273
2273
  Table.new(self, extract_selector(args).merge(:tag_name => "table"))
2274
2274
  end
2275
-
2275
+
2276
2276
  #
2277
2277
  # @return [TableCollection]
2278
2278
  #
2279
-
2279
+
2280
2280
  def tables(*args)
2281
2281
  TableCollection.new(self, extract_selector(args).merge(:tag_name => "table"))
2282
2282
  end
2283
-
2283
+
2284
2284
  Watir.tag_to_class[:table] = Table
2285
2285
  #
2286
2286
  # @return [TableSection]
2287
2287
  #
2288
-
2288
+
2289
2289
  def tbody(*args)
2290
2290
  TableSection.new(self, extract_selector(args).merge(:tag_name => "tbody"))
2291
2291
  end
2292
-
2292
+
2293
2293
  #
2294
2294
  # @return [TableSectionCollection]
2295
2295
  #
2296
-
2296
+
2297
2297
  def tbodys(*args)
2298
2298
  TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "tbody"))
2299
2299
  end
2300
-
2300
+
2301
2301
  Watir.tag_to_class[:tbody] = TableSection
2302
2302
  #
2303
2303
  # @return [TableDataCell]
2304
2304
  #
2305
-
2305
+
2306
2306
  def td(*args)
2307
2307
  TableDataCell.new(self, extract_selector(args).merge(:tag_name => "td"))
2308
2308
  end
2309
-
2309
+
2310
2310
  #
2311
2311
  # @return [TableDataCellCollection]
2312
2312
  #
2313
-
2313
+
2314
2314
  def tds(*args)
2315
2315
  TableDataCellCollection.new(self, extract_selector(args).merge(:tag_name => "td"))
2316
2316
  end
2317
-
2317
+
2318
2318
  Watir.tag_to_class[:td] = TableDataCell
2319
2319
  #
2320
2320
  # @return [TextArea]
2321
2321
  #
2322
-
2322
+
2323
2323
  def textarea(*args)
2324
2324
  TextArea.new(self, extract_selector(args).merge(:tag_name => "textarea"))
2325
2325
  end
2326
-
2326
+
2327
2327
  #
2328
2328
  # @return [TextAreaCollection]
2329
2329
  #
2330
-
2330
+
2331
2331
  def textareas(*args)
2332
2332
  TextAreaCollection.new(self, extract_selector(args).merge(:tag_name => "textarea"))
2333
2333
  end
2334
-
2334
+
2335
2335
  Watir.tag_to_class[:textarea] = TextArea
2336
2336
  #
2337
2337
  # @return [TableSection]
2338
2338
  #
2339
-
2339
+
2340
2340
  def tfoot(*args)
2341
2341
  TableSection.new(self, extract_selector(args).merge(:tag_name => "tfoot"))
2342
2342
  end
2343
-
2343
+
2344
2344
  #
2345
2345
  # @return [TableSectionCollection]
2346
2346
  #
2347
-
2347
+
2348
2348
  def tfoots(*args)
2349
2349
  TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "tfoot"))
2350
2350
  end
2351
-
2351
+
2352
2352
  Watir.tag_to_class[:tfoot] = TableSection
2353
2353
  #
2354
2354
  # @return [TableHeaderCell]
2355
2355
  #
2356
-
2356
+
2357
2357
  def th(*args)
2358
2358
  TableHeaderCell.new(self, extract_selector(args).merge(:tag_name => "th"))
2359
2359
  end
2360
-
2360
+
2361
2361
  #
2362
2362
  # @return [TableHeaderCellCollection]
2363
2363
  #
2364
-
2364
+
2365
2365
  def ths(*args)
2366
2366
  TableHeaderCellCollection.new(self, extract_selector(args).merge(:tag_name => "th"))
2367
2367
  end
2368
-
2368
+
2369
2369
  Watir.tag_to_class[:th] = TableHeaderCell
2370
2370
  #
2371
2371
  # @return [TableSection]
2372
2372
  #
2373
-
2373
+
2374
2374
  def thead(*args)
2375
2375
  TableSection.new(self, extract_selector(args).merge(:tag_name => "thead"))
2376
2376
  end
2377
-
2377
+
2378
2378
  #
2379
2379
  # @return [TableSectionCollection]
2380
2380
  #
2381
-
2381
+
2382
2382
  def theads(*args)
2383
2383
  TableSectionCollection.new(self, extract_selector(args).merge(:tag_name => "thead"))
2384
2384
  end
2385
-
2385
+
2386
2386
  Watir.tag_to_class[:thead] = TableSection
2387
2387
  #
2388
2388
  # @return [Time]
2389
2389
  #
2390
-
2390
+
2391
2391
  def time(*args)
2392
2392
  Time.new(self, extract_selector(args).merge(:tag_name => "time"))
2393
2393
  end
2394
-
2394
+
2395
2395
  #
2396
2396
  # @return [TimeCollection]
2397
2397
  #
2398
-
2398
+
2399
2399
  def times(*args)
2400
2400
  TimeCollection.new(self, extract_selector(args).merge(:tag_name => "time"))
2401
2401
  end
2402
-
2402
+
2403
2403
  Watir.tag_to_class[:time] = Time
2404
2404
  #
2405
2405
  # @return [Title]
2406
2406
  #
2407
-
2407
+
2408
2408
  def title(*args)
2409
2409
  Title.new(self, extract_selector(args).merge(:tag_name => "title"))
2410
2410
  end
2411
-
2411
+
2412
2412
  #
2413
2413
  # @return [TitleCollection]
2414
2414
  #
2415
-
2415
+
2416
2416
  def titles(*args)
2417
2417
  TitleCollection.new(self, extract_selector(args).merge(:tag_name => "title"))
2418
2418
  end
2419
-
2419
+
2420
2420
  Watir.tag_to_class[:title] = Title
2421
2421
  #
2422
2422
  # @return [TableRow]
2423
2423
  #
2424
-
2424
+
2425
2425
  def tr(*args)
2426
2426
  TableRow.new(self, extract_selector(args).merge(:tag_name => "tr"))
2427
2427
  end
2428
-
2428
+
2429
2429
  #
2430
2430
  # @return [TableRowCollection]
2431
2431
  #
2432
-
2432
+
2433
2433
  def trs(*args)
2434
2434
  TableRowCollection.new(self, extract_selector(args).merge(:tag_name => "tr"))
2435
2435
  end
2436
-
2436
+
2437
2437
  Watir.tag_to_class[:tr] = TableRow
2438
2438
  #
2439
2439
  # @return [Track]
2440
2440
  #
2441
-
2441
+
2442
2442
  def track(*args)
2443
2443
  Track.new(self, extract_selector(args).merge(:tag_name => "track"))
2444
2444
  end
2445
-
2445
+
2446
2446
  #
2447
2447
  # @return [TrackCollection]
2448
2448
  #
2449
-
2449
+
2450
2450
  def tracks(*args)
2451
2451
  TrackCollection.new(self, extract_selector(args).merge(:tag_name => "track"))
2452
2452
  end
2453
-
2453
+
2454
2454
  Watir.tag_to_class[:track] = Track
2455
2455
  #
2456
2456
  # @return [UList]
2457
2457
  #
2458
-
2458
+
2459
2459
  def ul(*args)
2460
2460
  UList.new(self, extract_selector(args).merge(:tag_name => "ul"))
2461
2461
  end
2462
-
2462
+
2463
2463
  #
2464
2464
  # @return [UListCollection]
2465
2465
  #
2466
-
2466
+
2467
2467
  def uls(*args)
2468
2468
  UListCollection.new(self, extract_selector(args).merge(:tag_name => "ul"))
2469
2469
  end
2470
-
2470
+
2471
2471
  Watir.tag_to_class[:ul] = UList
2472
2472
  #
2473
2473
  # @return [HTMLElement]
2474
2474
  #
2475
-
2475
+
2476
2476
  def var(*args)
2477
2477
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "var"))
2478
2478
  end
2479
-
2479
+
2480
2480
  #
2481
2481
  # @return [HTMLElementCollection]
2482
2482
  #
2483
-
2483
+
2484
2484
  def vars(*args)
2485
2485
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "var"))
2486
2486
  end
2487
-
2487
+
2488
2488
  Watir.tag_to_class[:var] = HTMLElement
2489
2489
  #
2490
2490
  # @return [Video]
2491
2491
  #
2492
-
2492
+
2493
2493
  def video(*args)
2494
2494
  Video.new(self, extract_selector(args).merge(:tag_name => "video"))
2495
2495
  end
2496
-
2496
+
2497
2497
  #
2498
2498
  # @return [VideoCollection]
2499
2499
  #
2500
-
2500
+
2501
2501
  def videos(*args)
2502
2502
  VideoCollection.new(self, extract_selector(args).merge(:tag_name => "video"))
2503
2503
  end
2504
-
2504
+
2505
2505
  Watir.tag_to_class[:video] = Video
2506
2506
  #
2507
2507
  # @return [HTMLElement]
2508
2508
  #
2509
-
2509
+
2510
2510
  def wbr(*args)
2511
2511
  HTMLElement.new(self, extract_selector(args).merge(:tag_name => "wbr"))
2512
2512
  end
2513
-
2513
+
2514
2514
  #
2515
2515
  # @return [HTMLElementCollection]
2516
2516
  #
2517
-
2517
+
2518
2518
  def wbrs(*args)
2519
2519
  HTMLElementCollection.new(self, extract_selector(args).merge(:tag_name => "wbr"))
2520
2520
  end
2521
-
2521
+
2522
2522
  Watir.tag_to_class[:wbr] = HTMLElement
2523
2523
  end # Container
2524
2524
  end # Watir