mkuklis-webrat 0.5.1 → 0.6.rc1

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 (211) hide show
  1. data/.document +3 -3
  2. data/.gitignore +14 -14
  3. data/History.txt +413 -413
  4. data/MIT-LICENSE.txt +19 -19
  5. data/README.rdoc +84 -84
  6. data/Rakefile +187 -187
  7. data/VERSION +1 -1
  8. data/install.rb +1 -1
  9. data/lib/webrat/adapters/mechanize.rb +78 -78
  10. data/lib/webrat/adapters/merb.rb +11 -11
  11. data/lib/webrat/adapters/rack.rb +25 -25
  12. data/lib/webrat/adapters/rails.rb +81 -81
  13. data/lib/webrat/adapters/sinatra.rb +9 -9
  14. data/lib/webrat/core/configuration.rb +92 -92
  15. data/lib/webrat/core/elements/area.rb +31 -31
  16. data/lib/webrat/core/elements/element.rb +33 -33
  17. data/lib/webrat/core/elements/field.rb +487 -487
  18. data/lib/webrat/core/elements/form.rb +103 -103
  19. data/lib/webrat/core/elements/label.rb +31 -31
  20. data/lib/webrat/core/elements/link.rb +93 -93
  21. data/lib/webrat/core/elements/select_option.rb +48 -48
  22. data/lib/webrat/core/locators/area_locator.rb +38 -38
  23. data/lib/webrat/core/locators/button_locator.rb +54 -54
  24. data/lib/webrat/core/locators/field_by_id_locator.rb +37 -37
  25. data/lib/webrat/core/locators/field_labeled_locator.rb +56 -56
  26. data/lib/webrat/core/locators/field_locator.rb +25 -25
  27. data/lib/webrat/core/locators/field_named_locator.rb +41 -41
  28. data/lib/webrat/core/locators/form_locator.rb +19 -19
  29. data/lib/webrat/core/locators/label_locator.rb +34 -34
  30. data/lib/webrat/core/locators/link_locator.rb +74 -74
  31. data/lib/webrat/core/locators/locator.rb +20 -20
  32. data/lib/webrat/core/locators/select_option_locator.rb +59 -59
  33. data/lib/webrat/core/locators.rb +20 -20
  34. data/lib/webrat/core/logging.rb +23 -23
  35. data/lib/webrat/core/matchers/have_content.rb +68 -68
  36. data/lib/webrat/core/matchers/have_selector.rb +74 -74
  37. data/lib/webrat/core/matchers/have_tag.rb +21 -21
  38. data/lib/webrat/core/matchers/have_xpath.rb +122 -122
  39. data/lib/webrat/core/matchers.rb +4 -4
  40. data/lib/webrat/core/methods.rb +64 -64
  41. data/lib/webrat/core/mime.rb +18 -18
  42. data/lib/webrat/core/save_and_open_page.rb +48 -48
  43. data/lib/webrat/core/scope.rb +365 -365
  44. data/lib/webrat/core/session.rb +306 -306
  45. data/lib/webrat/core/xml.rb +72 -72
  46. data/lib/webrat/core.rb +13 -13
  47. data/lib/webrat/core_extensions/blank.rb +58 -58
  48. data/lib/webrat/core_extensions/deprecate.rb +8 -8
  49. data/lib/webrat/core_extensions/detect_mapped.rb +12 -12
  50. data/lib/webrat/core_extensions/meta_class.rb +6 -6
  51. data/lib/webrat/core_extensions/nil_to_param.rb +5 -5
  52. data/lib/webrat/core_extensions/tcp_socket.rb +27 -27
  53. data/lib/webrat/integrations/merb.rb +10 -10
  54. data/lib/webrat/integrations/rails.rb +25 -25
  55. data/lib/webrat/integrations/rspec-rails.rb +10 -10
  56. data/lib/webrat/integrations/selenium.rb +11 -11
  57. data/lib/webrat/merb.rb +9 -9
  58. data/lib/webrat/rspec-rails.rb +2 -2
  59. data/lib/webrat/selenium/application_server_factory.rb +40 -40
  60. data/lib/webrat/selenium/application_servers/external.rb +26 -26
  61. data/lib/webrat/selenium/application_servers/merb.rb +50 -50
  62. data/lib/webrat/selenium/application_servers/rails.rb +3 -6
  63. data/lib/webrat/selenium/application_servers/sinatra.rb +37 -37
  64. data/lib/webrat/selenium/application_servers.rb +5 -5
  65. data/lib/webrat/selenium/location_strategy_javascript/button.js +19 -19
  66. data/lib/webrat/selenium/location_strategy_javascript/label.js +42 -42
  67. data/lib/webrat/selenium/location_strategy_javascript/webrat.js +6 -6
  68. data/lib/webrat/selenium/location_strategy_javascript/webratlink.js +32 -32
  69. data/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -15
  70. data/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -5
  71. data/lib/webrat/selenium/matchers/have_content.rb +66 -66
  72. data/lib/webrat/selenium/matchers/have_selector.rb +49 -49
  73. data/lib/webrat/selenium/matchers/have_tag.rb +72 -72
  74. data/lib/webrat/selenium/matchers/have_xpath.rb +45 -45
  75. data/lib/webrat/selenium/matchers.rb +4 -4
  76. data/lib/webrat/selenium/selenium_extensions.js +5 -5
  77. data/lib/webrat/selenium/selenium_rc_server.rb +86 -86
  78. data/lib/webrat/selenium/selenium_session.rb +267 -272
  79. data/lib/webrat/selenium/silence_stream.rb +18 -18
  80. data/lib/webrat/selenium.rb +70 -70
  81. data/lib/webrat.rb +18 -18
  82. data/spec/fakes/test_adapter.rb +37 -37
  83. data/spec/integration/mechanize/Rakefile +6 -6
  84. data/spec/integration/mechanize/config.ru +1 -1
  85. data/spec/integration/mechanize/sample_app.rb +20 -20
  86. data/spec/integration/mechanize/spec/mechanize_spec.rb +22 -22
  87. data/spec/integration/mechanize/spec/spec_helper.rb +27 -27
  88. data/spec/integration/merb/.gitignore +20 -20
  89. data/spec/integration/merb/Rakefile +35 -35
  90. data/spec/integration/merb/app/controllers/application.rb +2 -2
  91. data/spec/integration/merb/app/controllers/exceptions.rb +13 -13
  92. data/spec/integration/merb/app/controllers/testing.rb +27 -27
  93. data/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +63 -63
  94. data/spec/integration/merb/app/views/exceptions/not_found.html.erb +47 -47
  95. data/spec/integration/merb/app/views/layout/application.html.erb +11 -11
  96. data/spec/integration/merb/app/views/testing/show_form.html.erb +26 -26
  97. data/spec/integration/merb/app/views/testing/upload.html.erb +8 -8
  98. data/spec/integration/merb/config/environments/development.rb +15 -15
  99. data/spec/integration/merb/config/environments/rake.rb +11 -11
  100. data/spec/integration/merb/config/environments/test.rb +14 -14
  101. data/spec/integration/merb/config/init.rb +25 -25
  102. data/spec/integration/merb/config/rack.rb +11 -11
  103. data/spec/integration/merb/config/router.rb +34 -34
  104. data/spec/integration/merb/spec/spec.opts +1 -1
  105. data/spec/integration/merb/spec/spec_helper.rb +26 -26
  106. data/spec/integration/merb/spec/webrat_spec.rb +39 -39
  107. data/spec/integration/merb/tasks/merb.thor/app_script.rb +31 -31
  108. data/spec/integration/merb/tasks/merb.thor/common.rb +64 -64
  109. data/spec/integration/merb/tasks/merb.thor/gem_ext.rb +124 -124
  110. data/spec/integration/merb/tasks/merb.thor/main.thor +149 -149
  111. data/spec/integration/merb/tasks/merb.thor/ops.rb +93 -93
  112. data/spec/integration/merb/tasks/merb.thor/utils.rb +40 -40
  113. data/spec/integration/rack/Rakefile +5 -5
  114. data/spec/integration/rack/app.rb +89 -89
  115. data/spec/integration/rack/test/helper.rb +21 -21
  116. data/spec/integration/rack/test/webrat_rack_test.rb +73 -73
  117. data/spec/integration/rails/.gitignore +3 -3
  118. data/spec/integration/rails/Rakefile +30 -30
  119. data/spec/integration/rails/app/controllers/application.rb +15 -15
  120. data/spec/integration/rails/app/controllers/buttons_controller.rb +7 -7
  121. data/spec/integration/rails/app/controllers/fields_controller.rb +4 -4
  122. data/spec/integration/rails/app/controllers/links_controller.rb +7 -7
  123. data/spec/integration/rails/app/controllers/webrat_controller.rb +46 -46
  124. data/spec/integration/rails/app/helpers/buttons_helper.rb +2 -2
  125. data/spec/integration/rails/app/helpers/fields_helper.rb +2 -2
  126. data/spec/integration/rails/app/helpers/links_helper.rb +2 -2
  127. data/spec/integration/rails/app/views/buttons/show.html.erb +10 -10
  128. data/spec/integration/rails/app/views/fields/show.html.erb +8 -8
  129. data/spec/integration/rails/app/views/links/show.html.erb +5 -5
  130. data/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +3 -3
  131. data/spec/integration/rails/app/views/webrat/buttons.html.erb +10 -10
  132. data/spec/integration/rails/app/views/webrat/form.html.erb +27 -27
  133. data/spec/integration/rails/app/views/webrat/within.html.erb +2 -2
  134. data/spec/integration/rails/config/boot.rb +109 -109
  135. data/spec/integration/rails/config/environment.rb +12 -12
  136. data/spec/integration/rails/config/environments/development.rb +17 -17
  137. data/spec/integration/rails/config/environments/selenium.rb +22 -22
  138. data/spec/integration/rails/config/environments/test.rb +22 -22
  139. data/spec/integration/rails/config/initializers/inflections.rb +10 -10
  140. data/spec/integration/rails/config/initializers/mime_types.rb +5 -5
  141. data/spec/integration/rails/config/initializers/new_rails_defaults.rb +17 -17
  142. data/spec/integration/rails/config/locales/en.yml +4 -4
  143. data/spec/integration/rails/config/routes.rb +19 -19
  144. data/spec/integration/rails/public/404.html +29 -29
  145. data/spec/integration/rails/public/422.html +29 -29
  146. data/spec/integration/rails/public/500.html +33 -33
  147. data/spec/integration/rails/script/about +3 -3
  148. data/spec/integration/rails/script/console +3 -3
  149. data/spec/integration/rails/script/dbconsole +3 -3
  150. data/spec/integration/rails/script/destroy +3 -3
  151. data/spec/integration/rails/script/generate +3 -3
  152. data/spec/integration/rails/script/performance/benchmarker +3 -3
  153. data/spec/integration/rails/script/performance/profiler +3 -3
  154. data/spec/integration/rails/script/performance/request +3 -3
  155. data/spec/integration/rails/script/plugin +3 -3
  156. data/spec/integration/rails/script/process/inspector +3 -3
  157. data/spec/integration/rails/script/process/reaper +3 -3
  158. data/spec/integration/rails/script/process/spawner +3 -3
  159. data/spec/integration/rails/script/runner +3 -3
  160. data/spec/integration/rails/script/server +3 -3
  161. data/spec/integration/rails/test/integration/button_click_test.rb +80 -80
  162. data/spec/integration/rails/test/integration/fill_in_test.rb +24 -24
  163. data/spec/integration/rails/test/integration/link_click_test.rb +27 -27
  164. data/spec/integration/rails/test/integration/webrat_test.rb +122 -122
  165. data/spec/integration/rails/test/test_helper.rb +26 -26
  166. data/spec/integration/sinatra/Rakefile +5 -5
  167. data/spec/integration/sinatra/classic_app.rb +64 -64
  168. data/spec/integration/sinatra/modular_app.rb +16 -16
  169. data/spec/integration/sinatra/test/classic_app_test.rb +37 -37
  170. data/spec/integration/sinatra/test/modular_app_test.rb +18 -18
  171. data/spec/integration/sinatra/test/test_helper.rb +17 -17
  172. data/spec/private/core/configuration_spec.rb +87 -87
  173. data/spec/private/core/field_spec.rb +85 -85
  174. data/spec/private/core/link_spec.rb +24 -24
  175. data/spec/private/core/session_spec.rb +200 -200
  176. data/spec/private/mechanize/mechanize_adapter_spec.rb +73 -73
  177. data/spec/private/nokogiri_spec.rb +77 -77
  178. data/spec/private/rails/attaches_file_spec.rb +81 -81
  179. data/spec/private/rails/rails_adapter_spec.rb +86 -86
  180. data/spec/private/selenium/application_servers/rails_spec.rb +26 -26
  181. data/spec/public/basic_auth_spec.rb +24 -24
  182. data/spec/public/check_spec.rb +191 -191
  183. data/spec/public/choose_spec.rb +118 -118
  184. data/spec/public/click_area_spec.rb +106 -106
  185. data/spec/public/click_button_spec.rb +494 -494
  186. data/spec/public/click_link_spec.rb +511 -511
  187. data/spec/public/fill_in_spec.rb +224 -224
  188. data/spec/public/locators/field_by_xpath_spec.rb +19 -19
  189. data/spec/public/locators/field_labeled_spec.rb +172 -172
  190. data/spec/public/locators/field_with_id_spec.rb +16 -16
  191. data/spec/public/matchers/contain_spec.rb +114 -114
  192. data/spec/public/matchers/have_selector_spec.rb +146 -146
  193. data/spec/public/matchers/have_tag_spec.rb +39 -39
  194. data/spec/public/matchers/have_xpath_spec.rb +136 -136
  195. data/spec/public/reload_spec.rb +10 -10
  196. data/spec/public/save_and_open_spec.rb +70 -70
  197. data/spec/public/select_date_spec.rb +112 -112
  198. data/spec/public/select_datetime_spec.rb +137 -137
  199. data/spec/public/select_spec.rb +455 -455
  200. data/spec/public/select_time_spec.rb +100 -100
  201. data/spec/public/selenium/application_server_factory_spec.rb +49 -49
  202. data/spec/public/selenium/application_servers/external_spec.rb +12 -12
  203. data/spec/public/selenium/selenium_session_spec.rb +37 -37
  204. data/spec/public/set_hidden_field_spec.rb +5 -5
  205. data/spec/public/submit_form_spec.rb +5 -5
  206. data/spec/public/visit_spec.rb +58 -58
  207. data/spec/public/within_spec.rb +177 -177
  208. data/spec/spec.opts +1 -1
  209. data/spec/spec_helper.rb +54 -54
  210. data/webrat.gemspec +360 -0
  211. metadata +6 -5
@@ -1,49 +1,49 @@
1
- module Webrat
2
- module Selenium
3
- module Matchers
4
- class HaveSelector
5
- def initialize(expected)
6
- @expected = expected
7
- end
8
-
9
- def matches?(response)
10
- response.session.wait_for do
11
- response.selenium.is_element_present("css=#{@expected}")
12
- end
13
- rescue Webrat::TimeoutError
14
- false
15
- end
16
-
17
- # ==== Returns
18
- # String:: The failure message.
19
- def failure_message
20
- "expected following text to match selector #{@expected}:\n#{@document}"
21
- end
22
-
23
- # ==== Returns
24
- # String:: The failure message to be displayed in negative matches.
25
- def negative_failure_message
26
- "expected following text to not match selector #{@expected}:\n#{@document}"
27
- end
28
- end
29
-
30
- def have_selector(content)
31
- HaveSelector.new(content)
32
- end
33
-
34
- # Asserts that the body of the response contains
35
- # the supplied selector
36
- def assert_have_selector(expected)
37
- hs = HaveSelector.new(expected)
38
- assert hs.matches?(response), hs.failure_message
39
- end
40
-
41
- # Asserts that the body of the response
42
- # does not contain the supplied string or regepx
43
- def assert_have_no_selector(expected)
44
- hs = HaveSelector.new(expected)
45
- assert !hs.matches?(response), hs.negative_failure_message
46
- end
47
- end
48
- end
49
- end
1
+ module Webrat
2
+ module Selenium
3
+ module Matchers
4
+ class HaveSelector
5
+ def initialize(expected)
6
+ @expected = expected
7
+ end
8
+
9
+ def matches?(response)
10
+ response.session.wait_for do
11
+ response.selenium.is_element_present("css=#{@expected}")
12
+ end
13
+ rescue Webrat::TimeoutError
14
+ false
15
+ end
16
+
17
+ # ==== Returns
18
+ # String:: The failure message.
19
+ def failure_message
20
+ "expected following text to match selector #{@expected}:\n#{@document}"
21
+ end
22
+
23
+ # ==== Returns
24
+ # String:: The failure message to be displayed in negative matches.
25
+ def negative_failure_message
26
+ "expected following text to not match selector #{@expected}:\n#{@document}"
27
+ end
28
+ end
29
+
30
+ def have_selector(content)
31
+ HaveSelector.new(content)
32
+ end
33
+
34
+ # Asserts that the body of the response contains
35
+ # the supplied selector
36
+ def assert_have_selector(expected)
37
+ hs = HaveSelector.new(expected)
38
+ assert hs.matches?(response), hs.failure_message
39
+ end
40
+
41
+ # Asserts that the body of the response
42
+ # does not contain the supplied string or regepx
43
+ def assert_have_no_selector(expected)
44
+ hs = HaveSelector.new(expected)
45
+ assert !hs.matches?(response), hs.negative_failure_message
46
+ end
47
+ end
48
+ end
49
+ end
@@ -1,72 +1,72 @@
1
- module Webrat
2
- module Selenium
3
- module Matchers
4
-
5
- class HaveTag < HaveSelector #:nodoc:
6
- # ==== Returns
7
- # String:: The failure message.
8
- def failure_message
9
- "expected following output to contain a #{tag_inspect} tag:\n#{@document}"
10
- end
11
-
12
- # ==== Returns
13
- # String:: The failure message to be displayed in negative matches.
14
- def negative_failure_message
15
- "expected following output to omit a #{tag_inspect}:\n#{@document}"
16
- end
17
-
18
- def tag_inspect
19
- options = @expected.last.dup
20
- content = options.delete(:content)
21
-
22
- html = "<#{@expected.first}"
23
- options.each do |k,v|
24
- html << " #{k}='#{v}'"
25
- end
26
-
27
- if content
28
- html << ">#{content}</#{@expected.first}>"
29
- else
30
- html << "/>"
31
- end
32
-
33
- html
34
- end
35
-
36
- def query
37
- options = @expected.last.dup
38
- selector = @expected.first.to_s
39
-
40
- selector << ":contains('#{options.delete(:content)}')" if options[:content]
41
-
42
- options.each do |key, value|
43
- selector << "[#{key}='#{value}']"
44
- end
45
-
46
- Nokogiri::CSS.parse(selector).map { |ast| ast.to_xpath }
47
- end
48
- end
49
-
50
- def have_tag(name, attributes = {}, &block)
51
- HaveTag.new([name, attributes], &block)
52
- end
53
-
54
- alias_method :match_tag, :have_tag
55
-
56
- # Asserts that the body of the response contains
57
- # the supplied tag with the associated selectors
58
- def assert_have_tag(name, attributes = {})
59
- ht = HaveTag.new([name, attributes])
60
- assert ht.matches?(response), ht.failure_message
61
- end
62
-
63
- # Asserts that the body of the response
64
- # does not contain the supplied string or regepx
65
- def assert_have_no_tag(name, attributes = {})
66
- ht = HaveTag.new([name, attributes])
67
- assert !ht.matches?(response), ht.negative_failure_message
68
- end
69
-
70
- end
71
- end
72
- end
1
+ module Webrat
2
+ module Selenium
3
+ module Matchers
4
+
5
+ class HaveTag < HaveSelector #:nodoc:
6
+ # ==== Returns
7
+ # String:: The failure message.
8
+ def failure_message
9
+ "expected following output to contain a #{tag_inspect} tag:\n#{@document}"
10
+ end
11
+
12
+ # ==== Returns
13
+ # String:: The failure message to be displayed in negative matches.
14
+ def negative_failure_message
15
+ "expected following output to omit a #{tag_inspect}:\n#{@document}"
16
+ end
17
+
18
+ def tag_inspect
19
+ options = @expected.last.dup
20
+ content = options.delete(:content)
21
+
22
+ html = "<#{@expected.first}"
23
+ options.each do |k,v|
24
+ html << " #{k}='#{v}'"
25
+ end
26
+
27
+ if content
28
+ html << ">#{content}</#{@expected.first}>"
29
+ else
30
+ html << "/>"
31
+ end
32
+
33
+ html
34
+ end
35
+
36
+ def query
37
+ options = @expected.last.dup
38
+ selector = @expected.first.to_s
39
+
40
+ selector << ":contains('#{options.delete(:content)}')" if options[:content]
41
+
42
+ options.each do |key, value|
43
+ selector << "[#{key}='#{value}']"
44
+ end
45
+
46
+ Nokogiri::CSS.parse(selector).map { |ast| ast.to_xpath }
47
+ end
48
+ end
49
+
50
+ def have_tag(name, attributes = {}, &block)
51
+ HaveTag.new([name, attributes], &block)
52
+ end
53
+
54
+ alias_method :match_tag, :have_tag
55
+
56
+ # Asserts that the body of the response contains
57
+ # the supplied tag with the associated selectors
58
+ def assert_have_tag(name, attributes = {})
59
+ ht = HaveTag.new([name, attributes])
60
+ assert ht.matches?(response), ht.failure_message
61
+ end
62
+
63
+ # Asserts that the body of the response
64
+ # does not contain the supplied string or regepx
65
+ def assert_have_no_tag(name, attributes = {})
66
+ ht = HaveTag.new([name, attributes])
67
+ assert !ht.matches?(response), ht.negative_failure_message
68
+ end
69
+
70
+ end
71
+ end
72
+ end
@@ -1,45 +1,45 @@
1
- module Webrat
2
- module Selenium
3
- module Matchers
4
- class HaveXpath
5
- def initialize(expected)
6
- @expected = expected
7
- end
8
-
9
- def matches?(response)
10
- response.session.wait_for do
11
- response.selenium.is_element_present("xpath=#{@expected}")
12
- end
13
- rescue Webrat::TimeoutError
14
- false
15
- end
16
-
17
- # ==== Returns
18
- # String:: The failure message.
19
- def failure_message
20
- "expected following text to match xpath #{@expected}:\n#{@document}"
21
- end
22
-
23
- # ==== Returns
24
- # String:: The failure message to be displayed in negative matches.
25
- def negative_failure_message
26
- "expected following text to not match xpath #{@expected}:\n#{@document}"
27
- end
28
- end
29
-
30
- def have_xpath(xpath)
31
- HaveXpath.new(xpath)
32
- end
33
-
34
- def assert_have_xpath(expected)
35
- hs = HaveXpath.new(expected)
36
- assert hs.matches?(response), hs.failure_message
37
- end
38
-
39
- def assert_have_no_xpath(expected)
40
- hs = HaveXpath.new(expected)
41
- assert !hs.matches?(response), hs.negative_failure_message
42
- end
43
- end
44
- end
45
- end
1
+ module Webrat
2
+ module Selenium
3
+ module Matchers
4
+ class HaveXpath
5
+ def initialize(expected)
6
+ @expected = expected
7
+ end
8
+
9
+ def matches?(response)
10
+ response.session.wait_for do
11
+ response.selenium.is_element_present("xpath=#{@expected}")
12
+ end
13
+ rescue Webrat::TimeoutError
14
+ false
15
+ end
16
+
17
+ # ==== Returns
18
+ # String:: The failure message.
19
+ def failure_message
20
+ "expected following text to match xpath #{@expected}:\n#{@document}"
21
+ end
22
+
23
+ # ==== Returns
24
+ # String:: The failure message to be displayed in negative matches.
25
+ def negative_failure_message
26
+ "expected following text to not match xpath #{@expected}:\n#{@document}"
27
+ end
28
+ end
29
+
30
+ def have_xpath(xpath)
31
+ HaveXpath.new(xpath)
32
+ end
33
+
34
+ def assert_have_xpath(expected)
35
+ hs = HaveXpath.new(expected)
36
+ assert hs.matches?(response), hs.failure_message
37
+ end
38
+
39
+ def assert_have_no_xpath(expected)
40
+ hs = HaveXpath.new(expected)
41
+ assert !hs.matches?(response), hs.negative_failure_message
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,4 +1,4 @@
1
- require "webrat/selenium/matchers/have_xpath"
2
- require "webrat/selenium/matchers/have_selector"
3
- # require "webrat/selenium/matchers/have_tag"
4
- require "webrat/selenium/matchers/have_content"
1
+ require "webrat/selenium/matchers/have_xpath"
2
+ require "webrat/selenium/matchers/have_selector"
3
+ # require "webrat/selenium/matchers/have_tag"
4
+ require "webrat/selenium/matchers/have_content"
@@ -1,6 +1,6 @@
1
- PatternMatcher.strategies['evalregex'] = function(regexpString) {
2
- this.regexp = eval(regexpString);
3
- this.matches = function(actual) {
4
- return this.regexp.test(actual);
5
- };
1
+ PatternMatcher.strategies['evalregex'] = function(regexpString) {
2
+ this.regexp = eval(regexpString);
3
+ this.matches = function(actual) {
4
+ return this.regexp.test(actual);
5
+ };
6
6
  };
@@ -1,86 +1,86 @@
1
- module Webrat
2
- module Selenium
3
-
4
- class SeleniumRCServer
5
-
6
- include Webrat::Selenium::SilenceStream
7
-
8
- def self.boot
9
- new.boot
10
- end
11
-
12
- def boot
13
- return if selenium_grid?
14
-
15
- start
16
- wait
17
- stop_at_exit
18
- end
19
-
20
- def start
21
- silence_stream(STDOUT) do
22
- remote_control.start :background => true
23
- end
24
- end
25
-
26
- def stop_at_exit
27
- at_exit do
28
- stop
29
- end
30
- end
31
-
32
- def remote_control
33
- return @remote_control if @remote_control
34
-
35
- @remote_control = ::Selenium::RemoteControl::RemoteControl.new("127.0.0.1",
36
- Webrat.configuration.selenium_server_port,
37
- :timeout => Webrat.configuration.selenium_browser_startup_timeout)
38
- @remote_control.jar_file = jar_path
39
-
40
- return @remote_control
41
- end
42
-
43
- def jar_path
44
- File.expand_path(__FILE__ + "../../../../../vendor/selenium-server.jar")
45
- end
46
-
47
- def selenium_grid?
48
- Webrat.configuration.selenium_server_address
49
- end
50
-
51
- def wait
52
- $stderr.print "==> Waiting for Selenium RC server on port #{Webrat.configuration.selenium_server_port}... "
53
- wait_for_socket
54
- $stderr.print "Ready!\n"
55
- rescue SocketError
56
- fail
57
- end
58
-
59
- def wait_for_socket
60
- silence_stream(STDOUT) do
61
- TCPSocket.wait_for_service_with_timeout \
62
- :host => (Webrat.configuration.selenium_server_address || "127.0.0.1"),
63
- :port => Webrat.configuration.selenium_server_port,
64
- :timeout => 15 # seconds
65
- end
66
- end
67
-
68
- def fail
69
- $stderr.puts
70
- $stderr.puts
71
- $stderr.puts "==> Failed to boot the Selenium RC server... exiting!"
72
- exit
73
- end
74
-
75
- def stop
76
- silence_stream(STDOUT) do
77
- ::Selenium::RemoteControl::RemoteControl.new("127.0.0.1",
78
- Webrat.configuration.selenium_server_port,
79
- :timeout => 5).stop
80
- end
81
- end
82
-
83
- end
84
-
85
- end
86
- end
1
+ module Webrat
2
+ module Selenium
3
+
4
+ class SeleniumRCServer
5
+
6
+ include Webrat::Selenium::SilenceStream
7
+
8
+ def self.boot
9
+ new.boot
10
+ end
11
+
12
+ def boot
13
+ return if selenium_grid?
14
+
15
+ start
16
+ wait
17
+ stop_at_exit
18
+ end
19
+
20
+ def start
21
+ silence_stream(STDOUT) do
22
+ remote_control.start :background => true
23
+ end
24
+ end
25
+
26
+ def stop_at_exit
27
+ at_exit do
28
+ stop
29
+ end
30
+ end
31
+
32
+ def remote_control
33
+ return @remote_control if @remote_control
34
+
35
+ @remote_control = ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0",
36
+ Webrat.configuration.selenium_server_port,
37
+ :timeout => Webrat.configuration.selenium_browser_startup_timeout)
38
+ @remote_control.jar_file = jar_path
39
+
40
+ return @remote_control
41
+ end
42
+
43
+ def jar_path
44
+ File.expand_path(__FILE__ + "../../../../../vendor/selenium-server.jar")
45
+ end
46
+
47
+ def selenium_grid?
48
+ Webrat.configuration.selenium_server_address
49
+ end
50
+
51
+ def wait
52
+ $stderr.print "==> Waiting for Selenium RC server on port #{Webrat.configuration.selenium_server_port}... "
53
+ wait_for_socket
54
+ $stderr.print "Ready!\n"
55
+ rescue SocketError
56
+ fail
57
+ end
58
+
59
+ def wait_for_socket
60
+ silence_stream(STDOUT) do
61
+ TCPSocket.wait_for_service_with_timeout \
62
+ :host => (Webrat.configuration.selenium_server_address || "0.0.0.0"),
63
+ :port => Webrat.configuration.selenium_server_port,
64
+ :timeout => 15 # seconds
65
+ end
66
+ end
67
+
68
+ def fail
69
+ $stderr.puts
70
+ $stderr.puts
71
+ $stderr.puts "==> Failed to boot the Selenium RC server... exiting!"
72
+ exit
73
+ end
74
+
75
+ def stop
76
+ silence_stream(STDOUT) do
77
+ ::Selenium::RemoteControl::RemoteControl.new("0.0.0.0",
78
+ Webrat.configuration.selenium_server_port,
79
+ :timeout => 5).stop
80
+ end
81
+ end
82
+
83
+ end
84
+
85
+ end
86
+ end