celerity 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. data/History.txt +33 -0
  2. data/README.txt +19 -9
  3. data/Rakefile +9 -3
  4. data/lib/celerity.rb +39 -39
  5. data/lib/celerity/browser.rb +538 -153
  6. data/lib/celerity/clickable_element.rb +48 -7
  7. data/lib/celerity/collections.rb +155 -131
  8. data/lib/celerity/container.rb +766 -385
  9. data/lib/celerity/default_viewer.rb +10 -0
  10. data/lib/celerity/disabled_element.rb +19 -2
  11. data/lib/celerity/element.rb +152 -83
  12. data/lib/celerity/element_collection.rb +106 -0
  13. data/lib/celerity/element_locator.rb +89 -66
  14. data/lib/celerity/elements/button.rb +23 -13
  15. data/lib/celerity/elements/file_field.rb +17 -5
  16. data/lib/celerity/elements/form.rb +21 -16
  17. data/lib/celerity/elements/frame.rb +75 -53
  18. data/lib/celerity/elements/image.rb +76 -63
  19. data/lib/celerity/elements/label.rb +4 -2
  20. data/lib/celerity/elements/link.rb +30 -18
  21. data/lib/celerity/elements/meta.rb +6 -0
  22. data/lib/celerity/{non_control_elements.rb → elements/non_control_elements.rb} +106 -76
  23. data/lib/celerity/elements/option.rb +16 -2
  24. data/lib/celerity/elements/radio_check.rb +55 -20
  25. data/lib/celerity/elements/select_list.rb +65 -29
  26. data/lib/celerity/elements/table.rb +141 -94
  27. data/lib/celerity/elements/table_cell.rb +13 -6
  28. data/lib/celerity/elements/{table_body.rb → table_elements.rb} +20 -8
  29. data/lib/celerity/elements/table_row.rb +23 -7
  30. data/lib/celerity/elements/text_field.rb +89 -33
  31. data/lib/celerity/exception.rb +77 -41
  32. data/lib/celerity/extra/method_generator.rb +42 -24
  33. data/lib/celerity/htmlunit.rb +49 -0
  34. data/lib/celerity/htmlunit/commons-collections-3.2.1.jar +0 -0
  35. data/lib/celerity/htmlunit/htmlunit-2.5-SNAPSHOT.jar +0 -0
  36. data/lib/celerity/htmlunit/htmlunit-core-js-2.5-SNAPSHOT.jar +0 -0
  37. data/lib/celerity/htmlunit/nekohtml-1.9.12-20090308.130127-11.jar +0 -0
  38. data/lib/celerity/htmlunit/serializer-2.7.1.jar +0 -0
  39. data/lib/celerity/htmlunit/xalan-2.7.1.jar +0 -0
  40. data/lib/celerity/htmlunit/xml-apis-1.3.04.jar +0 -0
  41. data/lib/celerity/identifier.rb +3 -2
  42. data/lib/celerity/input_element.rb +5 -5
  43. data/lib/celerity/listener.rb +135 -0
  44. data/lib/celerity/resources/no_viewer.png +0 -0
  45. data/lib/celerity/util.rb +88 -0
  46. data/lib/celerity/version.rb +4 -3
  47. data/lib/celerity/watir_compatibility.rb +35 -25
  48. data/tasks/jar.rake +57 -0
  49. metadata +35 -142
  50. data.tar.gz.sig +0 -0
  51. data/Manifest.txt +0 -150
  52. data/lib/celerity/element_collections.rb +0 -54
  53. data/lib/celerity/element_map.rb +0 -51
  54. data/lib/celerity/elements/table_footer.rb +0 -30
  55. data/lib/celerity/elements/table_header.rb +0 -30
  56. data/lib/celerity/htmlunit/commons-collections-3.2.jar +0 -0
  57. data/lib/celerity/htmlunit/download.sh +0 -23
  58. data/lib/celerity/htmlunit/htmlunit-2.2.jar +0 -0
  59. data/lib/celerity/htmlunit/htmlunit-core-js-2.2.jar +0 -0
  60. data/lib/celerity/htmlunit/nekohtml-1.9.8.jar +0 -0
  61. data/lib/celerity/htmlunit/xalan-2.7.0.jar +0 -0
  62. data/lib/celerity/htmlunit/xml-apis-1.0.b2.jar +0 -0
  63. data/spec/area_spec.rb +0 -97
  64. data/spec/areas_spec.rb +0 -40
  65. data/spec/browser_spec.rb +0 -266
  66. data/spec/button_spec.rb +0 -227
  67. data/spec/buttons_spec.rb +0 -39
  68. data/spec/checkbox_spec.rb +0 -302
  69. data/spec/checkboxes_spec.rb +0 -38
  70. data/spec/div_spec.rb +0 -207
  71. data/spec/divs_spec.rb +0 -39
  72. data/spec/element_spec.rb +0 -79
  73. data/spec/filefield_spec.rb +0 -123
  74. data/spec/filefields_spec.rb +0 -40
  75. data/spec/form_spec.rb +0 -59
  76. data/spec/forms_spec.rb +0 -41
  77. data/spec/frame_spec.rb +0 -121
  78. data/spec/frames_spec.rb +0 -71
  79. data/spec/hidden_spec.rb +0 -127
  80. data/spec/hiddens_spec.rb +0 -39
  81. data/spec/hn_spec.rb +0 -104
  82. data/spec/hns_spec.rb +0 -45
  83. data/spec/html/2000_spans.html +0 -2009
  84. data/spec/html/bug_duplicate_attributes.html +0 -14
  85. data/spec/html/bug_javascript_001.html +0 -11
  86. data/spec/html/form_js_bug.html +0 -11
  87. data/spec/html/forms_with_input_elements.html +0 -114
  88. data/spec/html/frame_1.html +0 -17
  89. data/spec/html/frame_2.html +0 -16
  90. data/spec/html/frames.html +0 -11
  91. data/spec/html/iframes.html +0 -12
  92. data/spec/html/images.html +0 -27
  93. data/spec/html/images/1.gif +0 -0
  94. data/spec/html/images/2.gif +0 -0
  95. data/spec/html/images/3.gif +0 -0
  96. data/spec/html/images/button.jpg +0 -0
  97. data/spec/html/images/circle.jpg +0 -0
  98. data/spec/html/images/map.gif +0 -0
  99. data/spec/html/images/map2.gif +0 -0
  100. data/spec/html/images/minus.gif +0 -0
  101. data/spec/html/images/originaltriangle.jpg +0 -0
  102. data/spec/html/images/plus.gif +0 -0
  103. data/spec/html/images/square.jpg +0 -0
  104. data/spec/html/images/triangle.jpg +0 -0
  105. data/spec/html/invalid_js.html +0 -11
  106. data/spec/html/latin1_text.html +0 -17
  107. data/spec/html/non_control_elements.html +0 -115
  108. data/spec/html/simple_ajax.html +0 -22
  109. data/spec/html/tables.html +0 -119
  110. data/spec/html/utf8_text.html +0 -15
  111. data/spec/htmlunit_spec.rb +0 -26
  112. data/spec/image_spec.rb +0 -220
  113. data/spec/images_spec.rb +0 -39
  114. data/spec/label_spec.rb +0 -79
  115. data/spec/labels_spec.rb +0 -40
  116. data/spec/li_spec.rb +0 -139
  117. data/spec/link_spec.rb +0 -189
  118. data/spec/links_spec.rb +0 -43
  119. data/spec/lis_spec.rb +0 -40
  120. data/spec/map_spec.rb +0 -102
  121. data/spec/maps_spec.rb +0 -40
  122. data/spec/meta_spec.rb +0 -8
  123. data/spec/ol_spec.rb +0 -87
  124. data/spec/ols_spec.rb +0 -40
  125. data/spec/option_spec.rb +0 -154
  126. data/spec/p_spec.rb +0 -171
  127. data/spec/pre_spec.rb +0 -135
  128. data/spec/pres_spec.rb +0 -40
  129. data/spec/ps_spec.rb +0 -40
  130. data/spec/radio_spec.rb +0 -299
  131. data/spec/radios_spec.rb +0 -42
  132. data/spec/select_list_spec.rb +0 -299
  133. data/spec/select_lists_spec.rb +0 -47
  134. data/spec/span_spec.rb +0 -184
  135. data/spec/spans_spec.rb +0 -64
  136. data/spec/spec.opts +0 -1
  137. data/spec/spec_helper.rb +0 -55
  138. data/spec/table_bodies_spec.rb +0 -57
  139. data/spec/table_body_spec.rb +0 -111
  140. data/spec/table_cell_spec.rb +0 -74
  141. data/spec/table_cells_spec.rb +0 -59
  142. data/spec/table_footer_spec.rb +0 -101
  143. data/spec/table_footers_spec.rb +0 -55
  144. data/spec/table_header_spec.rb +0 -101
  145. data/spec/table_headers_spec.rb +0 -55
  146. data/spec/table_row_spec.rb +0 -104
  147. data/spec/table_rows_spec.rb +0 -58
  148. data/spec/table_spec.rb +0 -160
  149. data/spec/tables_spec.rb +0 -42
  150. data/spec/text_field_spec.rb +0 -323
  151. data/spec/text_fields_spec.rb +0 -44
  152. data/spec/ul_spec.rb +0 -88
  153. data/spec/uls_spec.rb +0 -40
  154. data/spec/watir_compatibility_spec.rb +0 -260
  155. data/support/spec_server.rb +0 -73
  156. data/tasks/rspec.rake +0 -30
  157. data/tasks/specserver.rake +0 -21
  158. metadata.gz.sig +0 -0
@@ -0,0 +1,49 @@
1
+ module Celerity
2
+ Jars = Dir[File.dirname(__FILE__) + '/htmlunit/*.jar']
3
+ Jars.each { |jar| require(jar) }
4
+
5
+ include_class org.apache.commons.httpclient.Cookie
6
+ end
7
+
8
+
9
+
10
+ module HtmlUnit
11
+ include_package 'com.gargoylesoftware.htmlunit'
12
+
13
+ module Html
14
+ include_package 'com.gargoylesoftware.htmlunit.html'
15
+ end
16
+
17
+ module Util
18
+ include_package 'com.gargoylesoftware.htmlunit.util'
19
+ end
20
+
21
+ end
22
+
23
+ module Java::OrgW3cDom::NamedNodeMap
24
+ include Enumerable
25
+
26
+ def each
27
+ 0.upto(getLength - 1) do |idx|
28
+ yield item(idx)
29
+ end
30
+ end
31
+ end
32
+
33
+ module Java::JavaLang::Iterable
34
+ include Enumerable
35
+
36
+ def each
37
+ it = iterator
38
+ yield it.next while it.hasNext
39
+ end
40
+
41
+ end
42
+
43
+
44
+ class Java::ComGargoylesoftwareHtmlunitHtml::HtmlPage
45
+ def inspect
46
+ '#<HtmlPage:0x%s(%s)>' % [self.hash.to_s(16), getWebResponse.getUrl.toString]
47
+ end
48
+ end
49
+
@@ -1,10 +1,11 @@
1
1
  module Celerity
2
2
 
3
- class Identifier < Struct.new(:tag, :attributes)
3
+ Identifier = Struct.new(:tag, :attributes) do
4
4
  attr_accessor :text
5
-
5
+
6
6
  def initialize(t, a={})
7
7
  super(t, a)
8
8
  end
9
9
  end
10
+
10
11
  end
@@ -3,10 +3,10 @@ module Celerity
3
3
  include ClickableElement
4
4
  include DisabledElement
5
5
 
6
- ATTRIBUTES = BASE_ATTRIBUTES | [:type, :name, :value, :checked, :disabled, :readonly, :size, :maxlength,
7
- :src, :alt, :usemap, :ismap, :tabindex, :accesskey, :onfocus, :onblur,
8
- :onselect, :onchange, :accept, :align]
9
-
6
+ ATTRIBUTES = BASE_ATTRIBUTES | [:type, :name, :value, :checked, :disabled, :readonly, :size, :maxlength,
7
+ :src, :alt, :usemap, :ismap, :tabindex, :accesskey, :onfocus, :onblur,
8
+ :onselect, :onchange, :accept, :align]
9
+
10
10
  def readonly?
11
11
  assert_exists
12
12
  @object.isAttributeDefined('readonly')
@@ -17,7 +17,7 @@ module Celerity
17
17
  def assert_not_readonly
18
18
  if readonly?
19
19
  raise ObjectReadOnlyException,
20
- "InputElement #{identifier_string()} is read only."
20
+ "InputElement #{identifier_string} is read only."
21
21
  end
22
22
  end
23
23
 
@@ -0,0 +1,135 @@
1
+ module Celerity
2
+
3
+ #
4
+ # This class is used to wrap some of the listeners available from HtmlUnit's WebClient.
5
+ #
6
+
7
+ class Listener
8
+ include com.gargoylesoftware.htmlunit.AlertHandler
9
+ include com.gargoylesoftware.htmlunit.ConfirmHandler
10
+ include com.gargoylesoftware.htmlunit.PromptHandler
11
+ include com.gargoylesoftware.htmlunit.html.HTMLParserListener
12
+ include com.gargoylesoftware.htmlunit.IncorrectnessListener
13
+ include com.gargoylesoftware.htmlunit.StatusHandler
14
+ include com.gargoylesoftware.htmlunit.WebWindowListener
15
+ include com.gargoylesoftware.htmlunit.attachment.AttachmentHandler
16
+
17
+ def initialize(webclient)
18
+ @webclient = webclient
19
+ @procs = Hash.new { |h, k| h[k] = [] }
20
+ end
21
+
22
+ #
23
+ # Add a listener block for one of the available types.
24
+ # @see Celerity::Browser#add_listener
25
+ #
26
+
27
+ def add_listener(type, &block)
28
+ case type
29
+ when :status
30
+ @webclient.setStatusHandler(self)
31
+ when :alert
32
+ @webclient.setAlertHandler(self)
33
+ when :attachment
34
+ @webclient.setAttachmentHandler(self)
35
+ when :web_window_event
36
+ @webclient.addWebWindowListener(self)
37
+ when :html_parser
38
+ @webclient.setHTMLParserListener(self)
39
+ when :incorrectness
40
+ @webclient.setIncorrectnessListener(self)
41
+ when :confirm
42
+ @webclient.setConfirmHandler(self)
43
+ when :prompt
44
+ @webclient.setPromptHandler(self)
45
+ else
46
+ raise ArgumentError, "unknown listener type #{type.inspect}"
47
+ end
48
+
49
+ @procs[type] << block
50
+ end
51
+
52
+ def remove_listener(type, proc_or_index)
53
+ unless @procs.has_key?(type)
54
+ raise ArgumentError, "unknown listener type #{type.inspect}"
55
+ end
56
+
57
+ case proc_or_index
58
+ when Fixnum
59
+ @procs[type].delete_at proc_or_index
60
+ when Proc
61
+ @procs[type].delete proc_or_index
62
+ else
63
+ raise TypeError, "must give proc or index"
64
+ end
65
+ end
66
+
67
+ #
68
+ # interface StatusHandler
69
+ #
70
+
71
+ def statusMessageChanged(page, message)
72
+ @procs[:status].each { |h| h.call(page, message) }
73
+ end
74
+
75
+ #
76
+ # interface AlertHandler
77
+ #
78
+
79
+ def handleAlert(page, message)
80
+ @procs[:alert].each { |h| h.call(page, message) }
81
+ end
82
+
83
+ #
84
+ # interface ConfirmHandler
85
+ #
86
+
87
+ def handleConfirm(page, message)
88
+ @procs[:confirm].each { |h| h.call(page, message) }
89
+ end
90
+
91
+ #
92
+ # interface AttachmentHandler
93
+ #
94
+
95
+ def handleAttachment(page)
96
+ @procs[:attachment].each { |h| h.call(page) }
97
+ end
98
+
99
+ #
100
+ # interface PromptHandler
101
+ #
102
+
103
+ def handlePrompt(page, message)
104
+ @procs[:prompt].each { |h| h.call(page, message) }
105
+ end
106
+
107
+ #
108
+ # interface WebWindowListener
109
+ #
110
+
111
+ def webWindowClosed(web_window_event)
112
+ @procs[:web_window_event].each { |h| h.call(web_window_event) }
113
+ end
114
+ alias_method :webWindowOpened, :webWindowClosed
115
+ alias_method :webWindowContentChanged, :webWindowClosed
116
+
117
+ #
118
+ # interface HTMLParserListener
119
+ #
120
+
121
+ def error(message, url, line, column, key)
122
+ @procs[:html_parser].each { |h| h.call(message, url, line, column, key) }
123
+ end
124
+ alias_method :warning, :error
125
+
126
+ #
127
+ # interface IncorrectnessListener
128
+ #
129
+
130
+ def notify(message, origin)
131
+ @procs[:incorrectness].each { |h| h.call(message, origin) }
132
+ end
133
+
134
+ end # Listener
135
+ end # Celerity
@@ -0,0 +1,88 @@
1
+ module Celerity
2
+ module Util
3
+ module_function
4
+
5
+ HtmlUnit2CelerityElement = {
6
+ HtmlUnit::Html::HtmlAnchor => Celerity::Link,
7
+ HtmlUnit::Html::HtmlArea => Celerity::Area,
8
+ HtmlUnit::Html::HtmlButton => Celerity::Button,
9
+ HtmlUnit::Html::HtmlSubmitInput => Celerity::Button,
10
+ HtmlUnit::Html::HtmlResetInput => Celerity::Button,
11
+ HtmlUnit::Html::HtmlImageInput => Celerity::Button,
12
+ HtmlUnit::Html::HtmlButtonInput => Celerity::Button,
13
+ HtmlUnit::Html::HtmlCaption => Celerity::Button, # ?
14
+ HtmlUnit::Html::HtmlCheckBoxInput => Celerity::CheckBox,
15
+ HtmlUnit::Html::HtmlDefinitionDescription => Celerity::Dd,
16
+ HtmlUnit::Html::HtmlDefinitionList => Celerity::Dl,
17
+ HtmlUnit::Html::HtmlDefinitionTerm => Celerity::Dt,
18
+ HtmlUnit::Html::HtmlDivision => Celerity::Div,
19
+ HtmlUnit::Html::HtmlFileInput => Celerity::FileField,
20
+ HtmlUnit::Html::HtmlForm => Celerity::Form,
21
+ HtmlUnit::Html::HtmlFrame => Celerity::Frame,
22
+ HtmlUnit::Html::HtmlHeading1 => Celerity::H1,
23
+ HtmlUnit::Html::HtmlHeading2 => Celerity::H2,
24
+ HtmlUnit::Html::HtmlHeading3 => Celerity::H3,
25
+ HtmlUnit::Html::HtmlHeading4 => Celerity::H4,
26
+ HtmlUnit::Html::HtmlHeading5 => Celerity::H5,
27
+ HtmlUnit::Html::HtmlHeading6 => Celerity::H6,
28
+ HtmlUnit::Html::HtmlHiddenInput => Celerity::Hidden,
29
+ HtmlUnit::Html::HtmlImage => Celerity::Image,
30
+ HtmlUnit::Html::HtmlLabel => Celerity::Label,
31
+ HtmlUnit::Html::HtmlLink => Celerity::Link,
32
+ HtmlUnit::Html::HtmlListItem => Celerity::Li,
33
+ HtmlUnit::Html::HtmlMap => Celerity::Map,
34
+ HtmlUnit::Html::HtmlOption => Celerity::Option,
35
+ HtmlUnit::Html::HtmlOrderedList => Celerity::Ol,
36
+ HtmlUnit::Html::HtmlParagraph => Celerity::P,
37
+ HtmlUnit::Html::HtmlPasswordInput => Celerity::TextField,
38
+ HtmlUnit::Html::HtmlPreformattedText => Celerity::Pre,
39
+ HtmlUnit::Html::HtmlRadioButtonInput => Celerity::Radio,
40
+ HtmlUnit::Html::HtmlSelect => Celerity::SelectList,
41
+ HtmlUnit::Html::HtmlSpan => Celerity::Span,
42
+ HtmlUnit::Html::HtmlTable => Celerity::Table,
43
+ HtmlUnit::Html::HtmlTableBody => Celerity::TableBody,
44
+ HtmlUnit::Html::HtmlTableCell => Celerity::TableCell,
45
+ HtmlUnit::Html::HtmlTableFooter => Celerity::TableFooter,
46
+ HtmlUnit::Html::HtmlTableHeader => Celerity::TableHeader,
47
+ HtmlUnit::Html::HtmlTableRow => Celerity::TableRow,
48
+ HtmlUnit::Html::HtmlTextArea => Celerity::TextField,
49
+ HtmlUnit::Html::HtmlTextInput => Celerity::TextField,
50
+ HtmlUnit::Html::HtmlUnorderedList => Celerity::Ul
51
+ }
52
+
53
+ def htmlunit2celerity(klass)
54
+ HtmlUnit2CelerityElement[klass]
55
+ end
56
+
57
+ #
58
+ # HtmlUnit will recognize most common file types, but custom ones can be added here.
59
+ # Used for FileField uploads.
60
+ #
61
+
62
+ ContentTypes = {
63
+ ".bmp" => "image/x-ms-bmp",
64
+ ".doc" => "application/msword",
65
+ ".odg" => "application/vnd.oasis.opendocument.graphics",
66
+ ".odp" => "application/vnd.oasis.opendocument.presentation",
67
+ ".ods" => "application/vnd.oasis.opendocument.spreadsheet",
68
+ ".odt" => "application/vnd.oasis.opendocument.text",
69
+ ".ppt" => "application/vnd.ms-powerpoint",
70
+ ".xls" => "application/vnd.ms-excel",
71
+ }
72
+
73
+ def content_type_for(path)
74
+ if ct = java.net.URLConnection.getFileNameMap.getContentTypeFor(path)
75
+ return ct
76
+ else
77
+ ContentTypes[File.extname(path).downcase]
78
+ end
79
+ end
80
+
81
+ def normalize_text(string)
82
+ string.gsub("\302\240", ' '). # non-breaking space 00A0
83
+ gsub(/\n|\t/, ''). # get rid of newlines/tabs
84
+ strip
85
+ end
86
+
87
+ end
88
+ end
@@ -2,8 +2,9 @@ module Celerity #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 4
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
5
+ TINY = 6
6
+ PATCH = nil # Set to nil for official release
7
+
8
+ STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
8
9
  end
9
10
  end
@@ -1,75 +1,85 @@
1
1
  module Celerity
2
2
  class Browser
3
3
  class << self
4
- # added for Watir compatability - not in use by Celerity
4
+
5
+ # Added for Watir compatibility - not in use by Celerity
5
6
  attr_accessor :speed, :attach_timeout, :visible
6
- # added for Watir compatability - not in use by Celerity
7
+ # Added for Watir compatibility - not in use by Celerity
7
8
  alias_method :start_window, :start
8
- # added for Watir compatability - not in use by Celerity
9
+ # Added for Watir compatibility - not in use by Celerity
9
10
  def reset_attach_timeout; @attach_timeout = 2.0; end
10
- # added for Watir compatability - not in use by Celerity
11
+ # Added for Watir compatibility - not in use by Celerity
11
12
  def each; end
12
- # added for Watir compatability - not in use by Celerity
13
+ # Added for Watir compatibility - not in use by Celerity
13
14
  def quit; end
14
- # added for Watir compatability - not in use by Celerity
15
+ # Added for Watir compatibility - not in use by Celerity
15
16
  def set_fast_speed; @speed = :fast; end
16
- # added for Watir compatability - not in use by Celerity
17
- def set_slow_speed; @speed = :slow; end
17
+ # Added for Watir compatibility - not in use by Celerity
18
+ def set_slow_speed; @speed = :slow; end
18
19
  end
19
20
 
20
- # added for Watir compatability - not in use by Celerity
21
+ # Added for Watir compatibility - not in use by Celerity
21
22
  attr_accessor :visible
22
-
23
- # added for Watir compatability - not in use by Celerity
23
+
24
+ # Added for Watir compatibility - not in use by Celerity
24
25
  def bring_to_front; true; end
25
- # added for Watir compatability - not in use by Celerity
26
+ # Added for Watir compatibility - not in use by Celerity
26
27
  def speed=(s); s end
27
- # added for Watir compatability - not in use by Celerity
28
- def wait; end
28
+ # Added for Watir compatibility - not in use by Celerity
29
+ def status; '' end
29
30
  end
30
-
31
-
31
+
32
+
32
33
  module ClickableElement
33
34
  alias_method :click_no_wait, :click
34
35
  end
35
-
36
+
36
37
  module Container
37
38
  alias_method :checkbox, :check_box
38
39
  alias_method :checkBox, :check_box
39
40
  alias_method :body, :tbody
40
41
  alias_method :bodies, :tbodies
41
42
  end
42
-
43
+
44
+ class Element
45
+ alias_method :exists, :exists?
46
+ alias_method :innerText, :text
47
+ alias_method :inner_text, :text
48
+ end
49
+
43
50
  class Image
44
51
  alias_method :hasLoaded?, :loaded?
45
52
  alias_method :has_loaded?, :loaded?
46
53
  alias_method :fileSize, :file_size
47
54
  alias_method :fileCreatedDate, :file_created_date
48
55
  end
49
-
56
+
50
57
  class Link
51
58
  alias_method :click_no_wait, :click
52
59
  end
53
-
60
+
54
61
  class RadioCheckCommon
55
62
  alias_method :is_set?, :set?
56
63
  alias_method :get_state, :set?
57
64
  alias_method :isSet?, :set?
58
65
  alias_method :getState, :set?
59
66
  end
60
-
67
+
61
68
  class SelectList
62
- alias_method :getSelectedItems, :get_selected_items
63
- alias_method :getAllContents, :get_all_contents
64
- alias_method :clearSelection, :clear_selection
69
+ alias_method :getSelectedItems, :selected_options
70
+ alias_method :getAllContents, :options
71
+ alias_method :clearSelection, :clear
72
+ alias_method :clear_selection, :clear
65
73
  alias_method :select_value, :select
66
74
  alias_method :includes?, :include?
67
75
  end
68
-
76
+
69
77
  class TextField
70
78
  alias_method :dragContentsTo, :drag_contents_to
71
79
  alias_method :getContents, :value
72
80
  alias_method :get_contents, :value
81
+
82
+ def requires_typing; end
73
83
  end
74
84
  end
75
85