sum 0.1.1 → 0.1.2

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 (228) hide show
  1. data/README.markdown +10 -12
  2. data/Rakefile +6 -7
  3. data/config/externals.yml +3 -3
  4. data/config/schedule.rb +0 -1
  5. data/features/step_definitions/when.rb +3 -3
  6. data/features/support/env.rb +9 -10
  7. data/gemspec.rb +13 -14
  8. data/lib/sum.rb +8 -8
  9. data/lib/sum/helper/cron.rb +1 -1
  10. data/lib/sum/model/user.rb +3 -3
  11. data/vendor/fetcher/MIT-LICENSE +20 -0
  12. data/vendor/fetcher/README.rdoc +94 -0
  13. data/vendor/fetcher/Rakefile +30 -0
  14. data/vendor/fetcher/fetcher.gemspec +27 -0
  15. data/vendor/fetcher/gemspec.rb +17 -0
  16. data/vendor/fetcher/init.rb +0 -0
  17. data/vendor/fetcher/lib/fetcher.rb +23 -0
  18. data/vendor/fetcher/lib/fetcher/base.rb +63 -0
  19. data/vendor/fetcher/lib/fetcher/imap.rb +79 -0
  20. data/vendor/fetcher/lib/fetcher/pop.rb +50 -0
  21. data/vendor/fetcher/lib/vendor/plain_imap.rb +21 -0
  22. data/vendor/fetcher/lib/vendor/secure_pop.rb +125 -0
  23. data/vendor/fetcher/test/fetcher_test.rb +74 -0
  24. metadata +40 -241
  25. data/sum.gemspec +0 -69
  26. data/vendor/webrat/History.txt +0 -358
  27. data/vendor/webrat/MIT-LICENSE.txt +0 -19
  28. data/vendor/webrat/README.rdoc +0 -85
  29. data/vendor/webrat/Rakefile +0 -200
  30. data/vendor/webrat/install.rb +0 -1
  31. data/vendor/webrat/lib/webrat.rb +0 -31
  32. data/vendor/webrat/lib/webrat/core.rb +0 -14
  33. data/vendor/webrat/lib/webrat/core/configuration.rb +0 -102
  34. data/vendor/webrat/lib/webrat/core/elements/area.rb +0 -31
  35. data/vendor/webrat/lib/webrat/core/elements/element.rb +0 -33
  36. data/vendor/webrat/lib/webrat/core/elements/field.rb +0 -409
  37. data/vendor/webrat/lib/webrat/core/elements/form.rb +0 -103
  38. data/vendor/webrat/lib/webrat/core/elements/label.rb +0 -31
  39. data/vendor/webrat/lib/webrat/core/elements/link.rb +0 -93
  40. data/vendor/webrat/lib/webrat/core/elements/select_option.rb +0 -35
  41. data/vendor/webrat/lib/webrat/core/locators.rb +0 -20
  42. data/vendor/webrat/lib/webrat/core/locators/area_locator.rb +0 -38
  43. data/vendor/webrat/lib/webrat/core/locators/button_locator.rb +0 -54
  44. data/vendor/webrat/lib/webrat/core/locators/field_by_id_locator.rb +0 -37
  45. data/vendor/webrat/lib/webrat/core/locators/field_labeled_locator.rb +0 -56
  46. data/vendor/webrat/lib/webrat/core/locators/field_locator.rb +0 -25
  47. data/vendor/webrat/lib/webrat/core/locators/field_named_locator.rb +0 -41
  48. data/vendor/webrat/lib/webrat/core/locators/form_locator.rb +0 -19
  49. data/vendor/webrat/lib/webrat/core/locators/label_locator.rb +0 -34
  50. data/vendor/webrat/lib/webrat/core/locators/link_locator.rb +0 -74
  51. data/vendor/webrat/lib/webrat/core/locators/locator.rb +0 -20
  52. data/vendor/webrat/lib/webrat/core/locators/select_option_locator.rb +0 -59
  53. data/vendor/webrat/lib/webrat/core/logging.rb +0 -24
  54. data/vendor/webrat/lib/webrat/core/matchers.rb +0 -4
  55. data/vendor/webrat/lib/webrat/core/matchers/have_content.rb +0 -73
  56. data/vendor/webrat/lib/webrat/core/matchers/have_selector.rb +0 -74
  57. data/vendor/webrat/lib/webrat/core/matchers/have_tag.rb +0 -21
  58. data/vendor/webrat/lib/webrat/core/matchers/have_xpath.rb +0 -147
  59. data/vendor/webrat/lib/webrat/core/methods.rb +0 -63
  60. data/vendor/webrat/lib/webrat/core/mime.rb +0 -29
  61. data/vendor/webrat/lib/webrat/core/save_and_open_page.rb +0 -48
  62. data/vendor/webrat/lib/webrat/core/scope.rb +0 -350
  63. data/vendor/webrat/lib/webrat/core/session.rb +0 -299
  64. data/vendor/webrat/lib/webrat/core/xml.rb +0 -115
  65. data/vendor/webrat/lib/webrat/core/xml/hpricot.rb +0 -19
  66. data/vendor/webrat/lib/webrat/core/xml/nokogiri.rb +0 -76
  67. data/vendor/webrat/lib/webrat/core/xml/rexml.rb +0 -24
  68. data/vendor/webrat/lib/webrat/core_extensions/blank.rb +0 -58
  69. data/vendor/webrat/lib/webrat/core_extensions/deprecate.rb +0 -8
  70. data/vendor/webrat/lib/webrat/core_extensions/detect_mapped.rb +0 -12
  71. data/vendor/webrat/lib/webrat/core_extensions/meta_class.rb +0 -6
  72. data/vendor/webrat/lib/webrat/core_extensions/nil_to_param.rb +0 -5
  73. data/vendor/webrat/lib/webrat/core_extensions/tcp_socket.rb +0 -27
  74. data/vendor/webrat/lib/webrat/mechanize.rb +0 -74
  75. data/vendor/webrat/lib/webrat/merb.rb +0 -9
  76. data/vendor/webrat/lib/webrat/merb_multipart_support.rb +0 -27
  77. data/vendor/webrat/lib/webrat/merb_session.rb +0 -82
  78. data/vendor/webrat/lib/webrat/rack.rb +0 -25
  79. data/vendor/webrat/lib/webrat/rails.rb +0 -106
  80. data/vendor/webrat/lib/webrat/rspec-rails.rb +0 -10
  81. data/vendor/webrat/lib/webrat/selenium.rb +0 -81
  82. data/vendor/webrat/lib/webrat/selenium/application_server_factory.rb +0 -40
  83. data/vendor/webrat/lib/webrat/selenium/application_servers.rb +0 -5
  84. data/vendor/webrat/lib/webrat/selenium/application_servers/base.rb +0 -46
  85. data/vendor/webrat/lib/webrat/selenium/application_servers/external.rb +0 -26
  86. data/vendor/webrat/lib/webrat/selenium/application_servers/merb.rb +0 -50
  87. data/vendor/webrat/lib/webrat/selenium/application_servers/rails.rb +0 -44
  88. data/vendor/webrat/lib/webrat/selenium/application_servers/sinatra.rb +0 -37
  89. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/button.js +0 -19
  90. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/label.js +0 -16
  91. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webrat.js +0 -5
  92. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlink.js +0 -12
  93. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +0 -15
  94. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +0 -5
  95. data/vendor/webrat/lib/webrat/selenium/matchers.rb +0 -4
  96. data/vendor/webrat/lib/webrat/selenium/matchers/have_content.rb +0 -66
  97. data/vendor/webrat/lib/webrat/selenium/matchers/have_selector.rb +0 -49
  98. data/vendor/webrat/lib/webrat/selenium/matchers/have_tag.rb +0 -72
  99. data/vendor/webrat/lib/webrat/selenium/matchers/have_xpath.rb +0 -45
  100. data/vendor/webrat/lib/webrat/selenium/selenium_extensions.js +0 -6
  101. data/vendor/webrat/lib/webrat/selenium/selenium_rc_server.rb +0 -84
  102. data/vendor/webrat/lib/webrat/selenium/selenium_session.rb +0 -248
  103. data/vendor/webrat/lib/webrat/selenium/silence_stream.rb +0 -18
  104. data/vendor/webrat/lib/webrat/sinatra.rb +0 -11
  105. data/vendor/webrat/spec/fakes/test_session.rb +0 -34
  106. data/vendor/webrat/spec/integration/merb/Rakefile +0 -35
  107. data/vendor/webrat/spec/integration/merb/app/controllers/application.rb +0 -2
  108. data/vendor/webrat/spec/integration/merb/app/controllers/exceptions.rb +0 -13
  109. data/vendor/webrat/spec/integration/merb/app/controllers/testing.rb +0 -27
  110. data/vendor/webrat/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +0 -63
  111. data/vendor/webrat/spec/integration/merb/app/views/exceptions/not_found.html.erb +0 -47
  112. data/vendor/webrat/spec/integration/merb/app/views/layout/application.html.erb +0 -12
  113. data/vendor/webrat/spec/integration/merb/app/views/testing/show_form.html.erb +0 -27
  114. data/vendor/webrat/spec/integration/merb/app/views/testing/upload.html.erb +0 -9
  115. data/vendor/webrat/spec/integration/merb/config/environments/development.rb +0 -15
  116. data/vendor/webrat/spec/integration/merb/config/environments/rake.rb +0 -11
  117. data/vendor/webrat/spec/integration/merb/config/environments/test.rb +0 -14
  118. data/vendor/webrat/spec/integration/merb/config/init.rb +0 -25
  119. data/vendor/webrat/spec/integration/merb/config/rack.rb +0 -11
  120. data/vendor/webrat/spec/integration/merb/config/router.rb +0 -34
  121. data/vendor/webrat/spec/integration/merb/spec/spec.opts +0 -1
  122. data/vendor/webrat/spec/integration/merb/spec/spec_helper.rb +0 -24
  123. data/vendor/webrat/spec/integration/merb/spec/webrat_spec.rb +0 -39
  124. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/app_script.rb +0 -31
  125. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/common.rb +0 -64
  126. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/gem_ext.rb +0 -124
  127. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/main.thor +0 -150
  128. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/ops.rb +0 -93
  129. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/utils.rb +0 -40
  130. data/vendor/webrat/spec/integration/rack/Rakefile +0 -5
  131. data/vendor/webrat/spec/integration/rack/app.rb +0 -73
  132. data/vendor/webrat/spec/integration/rack/test/helper.rb +0 -20
  133. data/vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb +0 -62
  134. data/vendor/webrat/spec/integration/rails/Rakefile +0 -30
  135. data/vendor/webrat/spec/integration/rails/app/controllers/application.rb +0 -15
  136. data/vendor/webrat/spec/integration/rails/app/controllers/buttons_controller.rb +0 -7
  137. data/vendor/webrat/spec/integration/rails/app/controllers/fields_controller.rb +0 -4
  138. data/vendor/webrat/spec/integration/rails/app/controllers/links_controller.rb +0 -7
  139. data/vendor/webrat/spec/integration/rails/app/controllers/webrat_controller.rb +0 -43
  140. data/vendor/webrat/spec/integration/rails/app/helpers/buttons_helper.rb +0 -2
  141. data/vendor/webrat/spec/integration/rails/app/helpers/fields_helper.rb +0 -2
  142. data/vendor/webrat/spec/integration/rails/app/helpers/links_helper.rb +0 -2
  143. data/vendor/webrat/spec/integration/rails/app/views/buttons/show.html.erb +0 -11
  144. data/vendor/webrat/spec/integration/rails/app/views/fields/show.html.erb +0 -9
  145. data/vendor/webrat/spec/integration/rails/app/views/links/show.html.erb +0 -5
  146. data/vendor/webrat/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +0 -4
  147. data/vendor/webrat/spec/integration/rails/app/views/webrat/buttons.html.erb +0 -11
  148. data/vendor/webrat/spec/integration/rails/app/views/webrat/form.html.erb +0 -28
  149. data/vendor/webrat/spec/integration/rails/config/boot.rb +0 -109
  150. data/vendor/webrat/spec/integration/rails/config/environment.rb +0 -12
  151. data/vendor/webrat/spec/integration/rails/config/environments/development.rb +0 -17
  152. data/vendor/webrat/spec/integration/rails/config/environments/selenium.rb +0 -22
  153. data/vendor/webrat/spec/integration/rails/config/environments/test.rb +0 -22
  154. data/vendor/webrat/spec/integration/rails/config/initializers/inflections.rb +0 -10
  155. data/vendor/webrat/spec/integration/rails/config/initializers/mime_types.rb +0 -5
  156. data/vendor/webrat/spec/integration/rails/config/initializers/new_rails_defaults.rb +0 -17
  157. data/vendor/webrat/spec/integration/rails/config/locales/en.yml +0 -5
  158. data/vendor/webrat/spec/integration/rails/config/routes.rb +0 -18
  159. data/vendor/webrat/spec/integration/rails/public/404.html +0 -30
  160. data/vendor/webrat/spec/integration/rails/public/422.html +0 -30
  161. data/vendor/webrat/spec/integration/rails/public/500.html +0 -33
  162. data/vendor/webrat/spec/integration/rails/script/about +0 -4
  163. data/vendor/webrat/spec/integration/rails/script/console +0 -3
  164. data/vendor/webrat/spec/integration/rails/script/dbconsole +0 -3
  165. data/vendor/webrat/spec/integration/rails/script/destroy +0 -3
  166. data/vendor/webrat/spec/integration/rails/script/generate +0 -3
  167. data/vendor/webrat/spec/integration/rails/script/performance/benchmarker +0 -3
  168. data/vendor/webrat/spec/integration/rails/script/performance/profiler +0 -3
  169. data/vendor/webrat/spec/integration/rails/script/performance/request +0 -3
  170. data/vendor/webrat/spec/integration/rails/script/plugin +0 -3
  171. data/vendor/webrat/spec/integration/rails/script/process/inspector +0 -3
  172. data/vendor/webrat/spec/integration/rails/script/process/reaper +0 -3
  173. data/vendor/webrat/spec/integration/rails/script/process/spawner +0 -3
  174. data/vendor/webrat/spec/integration/rails/script/runner +0 -3
  175. data/vendor/webrat/spec/integration/rails/script/server +0 -3
  176. data/vendor/webrat/spec/integration/rails/test/integration/button_click_test.rb +0 -80
  177. data/vendor/webrat/spec/integration/rails/test/integration/fill_in_test.rb +0 -24
  178. data/vendor/webrat/spec/integration/rails/test/integration/link_click_test.rb +0 -27
  179. data/vendor/webrat/spec/integration/rails/test/integration/webrat_test.rb +0 -97
  180. data/vendor/webrat/spec/integration/rails/test/test_helper.rb +0 -25
  181. data/vendor/webrat/spec/integration/sinatra/Rakefile +0 -5
  182. data/vendor/webrat/spec/integration/sinatra/classic_app.rb +0 -64
  183. data/vendor/webrat/spec/integration/sinatra/modular_app.rb +0 -16
  184. data/vendor/webrat/spec/integration/sinatra/test/classic_app_test.rb +0 -37
  185. data/vendor/webrat/spec/integration/sinatra/test/modular_app_test.rb +0 -18
  186. data/vendor/webrat/spec/integration/sinatra/test/test_helper.rb +0 -16
  187. data/vendor/webrat/spec/private/core/configuration_spec.rb +0 -116
  188. data/vendor/webrat/spec/private/core/field_spec.rb +0 -85
  189. data/vendor/webrat/spec/private/core/link_spec.rb +0 -24
  190. data/vendor/webrat/spec/private/core/logging_spec.rb +0 -10
  191. data/vendor/webrat/spec/private/core/session_spec.rb +0 -195
  192. data/vendor/webrat/spec/private/mechanize/mechanize_session_spec.rb +0 -81
  193. data/vendor/webrat/spec/private/merb/attaches_file_spec.rb +0 -93
  194. data/vendor/webrat/spec/private/merb/merb_session_spec.rb +0 -61
  195. data/vendor/webrat/spec/private/nokogiri_spec.rb +0 -77
  196. data/vendor/webrat/spec/private/rails/attaches_file_spec.rb +0 -81
  197. data/vendor/webrat/spec/private/rails/rails_session_spec.rb +0 -112
  198. data/vendor/webrat/spec/private/selenium/application_servers/rails_spec.rb +0 -26
  199. data/vendor/webrat/spec/public/basic_auth_spec.rb +0 -24
  200. data/vendor/webrat/spec/public/check_spec.rb +0 -191
  201. data/vendor/webrat/spec/public/choose_spec.rb +0 -118
  202. data/vendor/webrat/spec/public/click_area_spec.rb +0 -106
  203. data/vendor/webrat/spec/public/click_button_spec.rb +0 -496
  204. data/vendor/webrat/spec/public/click_link_spec.rb +0 -511
  205. data/vendor/webrat/spec/public/fill_in_spec.rb +0 -209
  206. data/vendor/webrat/spec/public/locators/field_by_xpath_spec.rb +0 -19
  207. data/vendor/webrat/spec/public/locators/field_labeled_spec.rb +0 -172
  208. data/vendor/webrat/spec/public/locators/field_with_id_spec.rb +0 -16
  209. data/vendor/webrat/spec/public/matchers/contain_spec.rb +0 -114
  210. data/vendor/webrat/spec/public/matchers/have_selector_spec.rb +0 -142
  211. data/vendor/webrat/spec/public/matchers/have_tag_spec.rb +0 -39
  212. data/vendor/webrat/spec/public/matchers/have_xpath_spec.rb +0 -136
  213. data/vendor/webrat/spec/public/reload_spec.rb +0 -10
  214. data/vendor/webrat/spec/public/save_and_open_spec.rb +0 -70
  215. data/vendor/webrat/spec/public/select_date_spec.rb +0 -112
  216. data/vendor/webrat/spec/public/select_datetime_spec.rb +0 -137
  217. data/vendor/webrat/spec/public/select_spec.rb +0 -249
  218. data/vendor/webrat/spec/public/select_time_spec.rb +0 -100
  219. data/vendor/webrat/spec/public/selenium/application_server_factory_spec.rb +0 -49
  220. data/vendor/webrat/spec/public/selenium/application_servers/external_spec.rb +0 -12
  221. data/vendor/webrat/spec/public/selenium/selenium_session_spec.rb +0 -37
  222. data/vendor/webrat/spec/public/set_hidden_field_spec.rb +0 -5
  223. data/vendor/webrat/spec/public/submit_form_spec.rb +0 -5
  224. data/vendor/webrat/spec/public/visit_spec.rb +0 -58
  225. data/vendor/webrat/spec/public/within_spec.rb +0 -177
  226. data/vendor/webrat/spec/rcov.opts +0 -1
  227. data/vendor/webrat/spec/spec.opts +0 -2
  228. data/vendor/webrat/spec/spec_helper.rb +0 -50
@@ -1,49 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- require "webrat/selenium/silence_stream"
4
- require "webrat/selenium/application_server_factory"
5
-
6
- require "webrat/selenium/application_servers"
7
-
8
- describe Webrat::Selenium::ApplicationServerFactory do
9
-
10
- it "should require and create a sinatra server in sinatra mode" do
11
- server = mock(Webrat::Selenium::ApplicationServers::Sinatra)
12
- Webrat.configuration.application_framework = :sinatra
13
- Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/sinatra")
14
- Webrat::Selenium::ApplicationServers::Sinatra.should_receive(:new).and_return(server)
15
- Webrat::Selenium::ApplicationServerFactory.app_server_instance.should == server
16
- end
17
-
18
- it "should require and create a merb server in merb mode" do
19
- server = mock(Webrat::Selenium::ApplicationServers::Merb)
20
- Webrat.configuration.application_framework = :merb
21
- Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/merb")
22
- Webrat::Selenium::ApplicationServers::Merb.should_receive(:new).and_return(server)
23
- Webrat::Selenium::ApplicationServerFactory.app_server_instance
24
- end
25
-
26
- it "should require and create a rails server in rails mode" do
27
- server = mock(Webrat::Selenium::ApplicationServers::Rails)
28
- Webrat.configuration.application_framework = :rails
29
- Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/rails")
30
- Webrat::Selenium::ApplicationServers::Rails.should_receive(:new).and_return(server)
31
- Webrat::Selenium::ApplicationServerFactory.app_server_instance
32
- end
33
-
34
- it "should require and create a rails server in external mode" do
35
- server = mock(Webrat::Selenium::ApplicationServers::External)
36
- Webrat.configuration.application_framework = :external
37
- Webrat::Selenium::ApplicationServerFactory.should_receive(:require).with("webrat/selenium/application_servers/external")
38
- Webrat::Selenium::ApplicationServers::External.should_receive(:new).and_return(server)
39
- Webrat::Selenium::ApplicationServerFactory.app_server_instance
40
- end
41
-
42
- it "should handle unknown servers with an exception in unknown modes" do
43
- Webrat.configuration.application_framework = :unknown
44
- lambda {
45
- Webrat::Selenium::ApplicationServerFactory.app_server_instance
46
- }.should raise_error(Webrat::WebratError)
47
- end
48
-
49
- end
@@ -1,12 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
-
3
- require "webrat/selenium/application_servers/base"
4
- require "webrat/selenium/application_servers/external"
5
-
6
- describe Webrat::Selenium::ApplicationServers::External do
7
-
8
- it "should just boot up with no exceptions" do
9
- Webrat::Selenium::ApplicationServers::External.new.boot
10
- end
11
-
12
- end
@@ -1,37 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
2
-
3
- require "webrat/selenium/silence_stream"
4
- require "webrat/selenium/selenium_session"
5
-
6
- describe Webrat::SeleniumSession do
7
-
8
- before :each do
9
- Webrat.configuration.mode = :selenium
10
- @selenium = Webrat::SeleniumSession.new()
11
- end
12
-
13
- it "should throw timeout instead of spec expectionnotmet error" do
14
- lambda {
15
- @selenium.wait_for(:timeout => 0.0001) do
16
- raise ::Spec::Expectations::ExpectationNotMetError
17
- end
18
- }.should raise_error(Webrat::TimeoutError)
19
- end
20
-
21
- it "should throw timeout instead of selenium command error" do
22
- lambda {
23
- @selenium.wait_for(:timeout => 0.0001) do
24
- raise ::Selenium::CommandError
25
- end
26
- }.should raise_error(Webrat::TimeoutError)
27
- end
28
-
29
- it "should throw timeout instead of webrat error" do
30
- lambda {
31
- @selenium.wait_for(:timeout => 0.0001) do
32
- raise Webrat::WebratError.new
33
- end
34
- }.should raise_error(Webrat::TimeoutError)
35
- end
36
-
37
- end
@@ -1,5 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- describe "set_hidden_field" do
4
- it "needs specs"
5
- end
@@ -1,5 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- describe "submit_form" do
4
- it "needs specs"
5
- end
@@ -1,58 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- describe "visit" do
4
- before do
5
- with_html <<-HTML
6
- <html>
7
- Hello world
8
- </html>
9
- HTML
10
- end
11
-
12
- it "should use get" do
13
- webrat_session.should_receive(:get).with("/", {})
14
- visit("/")
15
- end
16
-
17
- it "should assert valid response" do
18
- webrat_session.response_code = 501
19
- lambda { visit("/") }.should raise_error(Webrat::PageLoadError)
20
- end
21
-
22
- [200, 300, 400, 499].each do |status|
23
- it "should consider the #{status} status code as success" do
24
- webrat_session.stub!(:redirect? => false)
25
- webrat_session.response_code = status
26
- lambda { visit("/") }.should_not raise_error
27
- end
28
- end
29
-
30
- it "should require a visit before manipulating page" do
31
- lambda { fill_in "foo", :with => "blah" }.should raise_error(Webrat::WebratError)
32
- end
33
-
34
- it "should not follow external redirects" do
35
- webrat_session.should_receive(:internal_redirect?).and_return(false)
36
-
37
- visit("/oldurl")
38
-
39
- current_url.should == "/oldurl"
40
- end
41
- end
42
-
43
- describe "visit with referer" do
44
- before do
45
- webrat_session.instance_variable_set(:@current_url, "/old_url")
46
- with_html <<-HTML
47
- <html>
48
- Hello world
49
- </html>
50
- HTML
51
- end
52
-
53
- it "should use get with referer header" do
54
- webrat_session.should_receive(:get).with("/", {}, {"HTTP_REFERER" => "/old_url"})
55
- visit("/")
56
- end
57
-
58
- end
@@ -1,177 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
-
3
- describe "within" do
4
- it "should work when nested" do
5
- with_html <<-HTML
6
- <html>
7
- <div>
8
- <a href="/page1">Link</a>
9
- </div>
10
- <div id="container">
11
- <div><a href="/page2">Link</a></div>
12
- </div>
13
- </html>
14
- HTML
15
-
16
- webrat_session.should_receive(:get).with("/page2", {})
17
- within "#container" do
18
- within "div" do
19
- click_link "Link"
20
- end
21
- end
22
- end
23
-
24
- it "should click links within a scope" do
25
- with_html <<-HTML
26
- <html>
27
- <a href="/page1">Link</a>
28
- <div id="container">
29
- <a href="/page2">Link</a>
30
- </div>
31
- </html>
32
- HTML
33
-
34
- webrat_session.should_receive(:get).with("/page2", {})
35
- within "#container" do
36
- click_link "Link"
37
- end
38
- end
39
-
40
- it "should submit forms within a scope" do
41
- with_html <<-HTML
42
- <html>
43
- <form id="form1" action="/form1">
44
- <label>Email: <input type="text" name="email" />
45
- <input type="submit" value="Add" />
46
- </form>
47
- <form id="form2" action="/form2">
48
- <label>Email: <input type="text" name="email" />
49
- <input type="submit" value="Add" />
50
- </form>
51
- </html>
52
- HTML
53
-
54
- webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
55
- within "#form2" do
56
- fill_in "Email", :with => "test@example.com"
57
- click_button
58
- end
59
- end
60
-
61
- it "should work when the scope is inside the form" do
62
- with_html <<-HTML
63
- <html>
64
- <form id="form2" action="/form2">
65
- <div class="important">
66
- <label>Email: <input type="text" class="email2" name="email" /></label>
67
- </div>
68
- <input type="submit" value="Add" />
69
- </form>
70
- </html>
71
- HTML
72
-
73
- webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
74
- within ".important" do
75
- fill_in "Email", :with => "test@example.com"
76
- end
77
-
78
- submit_form "form2"
79
- end
80
-
81
- it "should work when the form submission occurs inside a scope" do
82
- with_html <<-HTML
83
- <html>
84
- <body>
85
- <div>
86
- <form id="form2" action="/form2">
87
- <label for="email">Email</label><input id="email" type="text" class="email2" name="email" />
88
- <input type="submit" value="Add" />
89
- </form>
90
- </div>
91
- </body>
92
- </html>
93
- HTML
94
-
95
- webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
96
- within "form[@action='/form2']" do
97
- fill_in "Email", :with => "test@example.com"
98
- click_button "Add"
99
- end
100
- end
101
-
102
- it "should work when there are multiple forms with the same label text" do
103
- with_html <<-HTML
104
- <html>
105
- <body>
106
- <div>
107
- <form id="form1" action="/form1">
108
- <label for="email1">Email</label><input id="email1" type="text" class="email1" name="email1" />
109
- <input type="submit" value="Add" />
110
- </form>
111
- <form id="form2" action="/form2">
112
- <label for="email2">Email</label><input id="email2" type="text" class="email2" name="email2" />
113
- <input type="submit" value="Add" />
114
- </form>
115
- </div>
116
- </body>
117
- </html>
118
- HTML
119
-
120
- webrat_session.should_receive(:get).with("/form2", "email2" => "test@example.com")
121
- within "form[@action='/form2']" do
122
- fill_in "Email", :with => "test@example.com"
123
- click_button "Add"
124
- end
125
- end
126
-
127
- it "should not find fields outside of the scope" do
128
- with_html <<-HTML
129
- <html>
130
- <form id="form1" action="/form1">
131
- <label for="email">Email</label><input id="email" type="text" name="email" />
132
- <input type="submit" value="Add" />
133
- </form>
134
- <form id="form2" action="/form2">
135
- <label for="email">Email</label><input id="email" type="text" name="email" />
136
- <input type="submit" value="Add" />
137
- </form>
138
- </html>
139
- HTML
140
-
141
- webrat_session.should_receive(:get).with("/form2", "email" => "test@example.com")
142
- within "#form2" do
143
- fill_in "Email", :with => "test@example.com"
144
- click_button "Add"
145
- end
146
- end
147
-
148
- it "should not find buttons outside of the scope" do
149
- with_html <<-HTML
150
- <html>
151
- <form action="/form1">
152
- <input type="submit" value="Add" />
153
- </form>
154
- <form id="form2" action="/form2">
155
- </form>
156
- </html>
157
- HTML
158
-
159
- within "#form2" do
160
- lambda {
161
- click_button
162
- }.should raise_error(Webrat::NotFoundError)
163
- end
164
- end
165
-
166
- it "should raise a Webrat::NotFounderror error when the scope doesn't exist" do
167
- with_html <<-HTML
168
- <html>
169
- </html>
170
- HTML
171
-
172
- lambda {
173
- within "#form2" do
174
- end
175
- }.should raise_error(Webrat::NotFoundError)
176
- end
177
- end
@@ -1 +0,0 @@
1
- -x gems,spec
@@ -1,2 +0,0 @@
1
- --diff
2
- --color
@@ -1,50 +0,0 @@
1
- require "rubygems"
2
- require "test/unit"
3
- require "spec"
4
-
5
- # gem install redgreen for colored test output
6
- begin require "redgreen" unless ENV['TM_CURRENT_LINE']; rescue LoadError; end
7
-
8
- webrat_path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
9
- $LOAD_PATH.unshift(webrat_path) unless $LOAD_PATH.include?(webrat_path)
10
-
11
- require "webrat"
12
- require File.expand_path(File.dirname(__FILE__) + "/fakes/test_session")
13
-
14
- module Webrat
15
- @@previous_config = nil
16
-
17
- def self.cache_config_for_test
18
- @@previous_config = Webrat.configuration.clone
19
- end
20
-
21
- def self.reset_for_test
22
- @@configuration = @@previous_config if @@previous_config
23
- end
24
- end
25
-
26
- Spec::Runner.configure do |config|
27
- include Webrat::Methods
28
-
29
- def with_html(html)
30
- raise "This doesn't look like HTML. Wrap it in a <html> tag" unless html =~ /^\s*<[^Hh>]*html/i
31
- webrat_session.response_body = html
32
- end
33
-
34
- def with_xml(xml)
35
- raise "This looks like HTML" if xml =~ /^\s*<[^Hh>]*html/i
36
- webrat_session.response_body = xml
37
- end
38
-
39
- config.before :each do
40
- Webrat.cache_config_for_test
41
- end
42
-
43
- config.after :each do
44
- Webrat.reset_for_test
45
- end
46
- end
47
-
48
- Webrat.configure do |config|
49
- config.mode = :merb
50
- end