sum 0.1.1

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 (282) hide show
  1. data/Capfile +3 -0
  2. data/MIT-LICENSE +18 -0
  3. data/README.markdown +69 -0
  4. data/Rakefile +56 -0
  5. data/config.ru +3 -0
  6. data/config/database.example.yml +10 -0
  7. data/config/deploy.example.rb +36 -0
  8. data/config/externals.yml +18 -0
  9. data/config/mail.example.yml +32 -0
  10. data/config/schedule.rb +20 -0
  11. data/db/migrate/001_users.rb +22 -0
  12. data/db/migrate/002_user_emails.rb +15 -0
  13. data/features/front_page.feature +15 -0
  14. data/features/read_email.feature +445 -0
  15. data/features/receive_email.feature +59 -0
  16. data/features/step_definitions/email.rb +52 -0
  17. data/features/step_definitions/given.rb +60 -0
  18. data/features/step_definitions/then.rb +36 -0
  19. data/features/step_definitions/when.rb +46 -0
  20. data/features/support/env.rb +38 -0
  21. data/features/support/helpers.rb +50 -0
  22. data/features/support/rspec.rb +11 -0
  23. data/features/support/webrat.rb +3 -0
  24. data/features/update_user.feature +83 -0
  25. data/gemspec.rb +45 -0
  26. data/lib/sum.rb +30 -0
  27. data/lib/sum/boot.rb +29 -0
  28. data/lib/sum/controller/cron.rb +12 -0
  29. data/lib/sum/controller/front.rb +6 -0
  30. data/lib/sum/controller/new.rb +15 -0
  31. data/lib/sum/helper/application.rb +8 -0
  32. data/lib/sum/helper/cron.rb +12 -0
  33. data/lib/sum/helper/new.rb +27 -0
  34. data/lib/sum/model/incoming_mail.rb +89 -0
  35. data/lib/sum/model/user.rb +298 -0
  36. data/lib/sum/model/user_email.rb +31 -0
  37. data/lib/sum/view/email.haml +70 -0
  38. data/lib/sum/view/field.haml +23 -0
  39. data/lib/sum/view/form.haml +13 -0
  40. data/lib/sum/view/front.haml +29 -0
  41. data/lib/sum/view/layout.haml +26 -0
  42. data/lib/sum/view/new.haml +5 -0
  43. data/lib/sum/view/success.haml +14 -0
  44. data/lib/sum/view/tos.haml +3 -0
  45. data/public/image/1.png +0 -0
  46. data/public/image/2.png +0 -0
  47. data/public/image/3.png +0 -0
  48. data/public/image/bg.png +0 -0
  49. data/public/image/bot.png +0 -0
  50. data/public/image/facebox/b.png +0 -0
  51. data/public/image/facebox/bl.png +0 -0
  52. data/public/image/facebox/br.png +0 -0
  53. data/public/image/facebox/closelabel.gif +0 -0
  54. data/public/image/facebox/loading.gif +0 -0
  55. data/public/image/facebox/tl.png +0 -0
  56. data/public/image/facebox/tr.png +0 -0
  57. data/public/image/favicon.png +0 -0
  58. data/public/image/field_off.png +0 -0
  59. data/public/image/field_on.png +0 -0
  60. data/public/image/ribbon.png +0 -0
  61. data/public/image/screenshot_receive.png +0 -0
  62. data/public/image/screenshot_send.png +0 -0
  63. data/public/image/submit.png +0 -0
  64. data/public/image/top.png +0 -0
  65. data/public/javascript/facebox.js +319 -0
  66. data/public/javascript/jquery-1.3.2.js +19 -0
  67. data/public/javascript/sum.js +13 -0
  68. data/public/style/facebox.css +95 -0
  69. data/public/style/ie.css +35 -0
  70. data/public/style/print.css +30 -0
  71. data/public/style/screen.css +256 -0
  72. data/public/style/sum.css +119 -0
  73. data/public/style/sum.less +159 -0
  74. data/spec/spec.opts +1 -0
  75. data/spec/spec_helper.rb +59 -0
  76. data/spec/sum/model/incoming_mail_spec.rb +106 -0
  77. data/spec/sum/model/user_spec.rb +172 -0
  78. data/sum.gemspec +69 -0
  79. data/vendor/webrat/History.txt +358 -0
  80. data/vendor/webrat/MIT-LICENSE.txt +19 -0
  81. data/vendor/webrat/README.rdoc +85 -0
  82. data/vendor/webrat/Rakefile +200 -0
  83. data/vendor/webrat/install.rb +1 -0
  84. data/vendor/webrat/lib/webrat.rb +31 -0
  85. data/vendor/webrat/lib/webrat/core.rb +14 -0
  86. data/vendor/webrat/lib/webrat/core/configuration.rb +102 -0
  87. data/vendor/webrat/lib/webrat/core/elements/area.rb +31 -0
  88. data/vendor/webrat/lib/webrat/core/elements/element.rb +33 -0
  89. data/vendor/webrat/lib/webrat/core/elements/field.rb +409 -0
  90. data/vendor/webrat/lib/webrat/core/elements/form.rb +103 -0
  91. data/vendor/webrat/lib/webrat/core/elements/label.rb +31 -0
  92. data/vendor/webrat/lib/webrat/core/elements/link.rb +93 -0
  93. data/vendor/webrat/lib/webrat/core/elements/select_option.rb +35 -0
  94. data/vendor/webrat/lib/webrat/core/locators.rb +20 -0
  95. data/vendor/webrat/lib/webrat/core/locators/area_locator.rb +38 -0
  96. data/vendor/webrat/lib/webrat/core/locators/button_locator.rb +54 -0
  97. data/vendor/webrat/lib/webrat/core/locators/field_by_id_locator.rb +37 -0
  98. data/vendor/webrat/lib/webrat/core/locators/field_labeled_locator.rb +56 -0
  99. data/vendor/webrat/lib/webrat/core/locators/field_locator.rb +25 -0
  100. data/vendor/webrat/lib/webrat/core/locators/field_named_locator.rb +41 -0
  101. data/vendor/webrat/lib/webrat/core/locators/form_locator.rb +19 -0
  102. data/vendor/webrat/lib/webrat/core/locators/label_locator.rb +34 -0
  103. data/vendor/webrat/lib/webrat/core/locators/link_locator.rb +74 -0
  104. data/vendor/webrat/lib/webrat/core/locators/locator.rb +20 -0
  105. data/vendor/webrat/lib/webrat/core/locators/select_option_locator.rb +59 -0
  106. data/vendor/webrat/lib/webrat/core/logging.rb +24 -0
  107. data/vendor/webrat/lib/webrat/core/matchers.rb +4 -0
  108. data/vendor/webrat/lib/webrat/core/matchers/have_content.rb +73 -0
  109. data/vendor/webrat/lib/webrat/core/matchers/have_selector.rb +74 -0
  110. data/vendor/webrat/lib/webrat/core/matchers/have_tag.rb +21 -0
  111. data/vendor/webrat/lib/webrat/core/matchers/have_xpath.rb +147 -0
  112. data/vendor/webrat/lib/webrat/core/methods.rb +63 -0
  113. data/vendor/webrat/lib/webrat/core/mime.rb +29 -0
  114. data/vendor/webrat/lib/webrat/core/save_and_open_page.rb +48 -0
  115. data/vendor/webrat/lib/webrat/core/scope.rb +350 -0
  116. data/vendor/webrat/lib/webrat/core/session.rb +299 -0
  117. data/vendor/webrat/lib/webrat/core/xml.rb +115 -0
  118. data/vendor/webrat/lib/webrat/core/xml/hpricot.rb +19 -0
  119. data/vendor/webrat/lib/webrat/core/xml/nokogiri.rb +76 -0
  120. data/vendor/webrat/lib/webrat/core/xml/rexml.rb +24 -0
  121. data/vendor/webrat/lib/webrat/core_extensions/blank.rb +58 -0
  122. data/vendor/webrat/lib/webrat/core_extensions/deprecate.rb +8 -0
  123. data/vendor/webrat/lib/webrat/core_extensions/detect_mapped.rb +12 -0
  124. data/vendor/webrat/lib/webrat/core_extensions/meta_class.rb +6 -0
  125. data/vendor/webrat/lib/webrat/core_extensions/nil_to_param.rb +5 -0
  126. data/vendor/webrat/lib/webrat/core_extensions/tcp_socket.rb +27 -0
  127. data/vendor/webrat/lib/webrat/mechanize.rb +74 -0
  128. data/vendor/webrat/lib/webrat/merb.rb +9 -0
  129. data/vendor/webrat/lib/webrat/merb_multipart_support.rb +27 -0
  130. data/vendor/webrat/lib/webrat/merb_session.rb +82 -0
  131. data/vendor/webrat/lib/webrat/rack.rb +25 -0
  132. data/vendor/webrat/lib/webrat/rails.rb +106 -0
  133. data/vendor/webrat/lib/webrat/rspec-rails.rb +10 -0
  134. data/vendor/webrat/lib/webrat/selenium.rb +81 -0
  135. data/vendor/webrat/lib/webrat/selenium/application_server_factory.rb +40 -0
  136. data/vendor/webrat/lib/webrat/selenium/application_servers.rb +5 -0
  137. data/vendor/webrat/lib/webrat/selenium/application_servers/base.rb +46 -0
  138. data/vendor/webrat/lib/webrat/selenium/application_servers/external.rb +26 -0
  139. data/vendor/webrat/lib/webrat/selenium/application_servers/merb.rb +50 -0
  140. data/vendor/webrat/lib/webrat/selenium/application_servers/rails.rb +44 -0
  141. data/vendor/webrat/lib/webrat/selenium/application_servers/sinatra.rb +37 -0
  142. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/button.js +19 -0
  143. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/label.js +16 -0
  144. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webrat.js +5 -0
  145. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlink.js +12 -0
  146. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js +15 -0
  147. data/vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js +5 -0
  148. data/vendor/webrat/lib/webrat/selenium/matchers.rb +4 -0
  149. data/vendor/webrat/lib/webrat/selenium/matchers/have_content.rb +66 -0
  150. data/vendor/webrat/lib/webrat/selenium/matchers/have_selector.rb +49 -0
  151. data/vendor/webrat/lib/webrat/selenium/matchers/have_tag.rb +72 -0
  152. data/vendor/webrat/lib/webrat/selenium/matchers/have_xpath.rb +45 -0
  153. data/vendor/webrat/lib/webrat/selenium/selenium_extensions.js +6 -0
  154. data/vendor/webrat/lib/webrat/selenium/selenium_rc_server.rb +84 -0
  155. data/vendor/webrat/lib/webrat/selenium/selenium_session.rb +248 -0
  156. data/vendor/webrat/lib/webrat/selenium/silence_stream.rb +18 -0
  157. data/vendor/webrat/lib/webrat/sinatra.rb +11 -0
  158. data/vendor/webrat/spec/fakes/test_session.rb +34 -0
  159. data/vendor/webrat/spec/integration/merb/Rakefile +35 -0
  160. data/vendor/webrat/spec/integration/merb/app/controllers/application.rb +2 -0
  161. data/vendor/webrat/spec/integration/merb/app/controllers/exceptions.rb +13 -0
  162. data/vendor/webrat/spec/integration/merb/app/controllers/testing.rb +27 -0
  163. data/vendor/webrat/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +63 -0
  164. data/vendor/webrat/spec/integration/merb/app/views/exceptions/not_found.html.erb +47 -0
  165. data/vendor/webrat/spec/integration/merb/app/views/layout/application.html.erb +12 -0
  166. data/vendor/webrat/spec/integration/merb/app/views/testing/show_form.html.erb +27 -0
  167. data/vendor/webrat/spec/integration/merb/app/views/testing/upload.html.erb +9 -0
  168. data/vendor/webrat/spec/integration/merb/config/environments/development.rb +15 -0
  169. data/vendor/webrat/spec/integration/merb/config/environments/rake.rb +11 -0
  170. data/vendor/webrat/spec/integration/merb/config/environments/test.rb +14 -0
  171. data/vendor/webrat/spec/integration/merb/config/init.rb +25 -0
  172. data/vendor/webrat/spec/integration/merb/config/rack.rb +11 -0
  173. data/vendor/webrat/spec/integration/merb/config/router.rb +34 -0
  174. data/vendor/webrat/spec/integration/merb/spec/spec.opts +1 -0
  175. data/vendor/webrat/spec/integration/merb/spec/spec_helper.rb +24 -0
  176. data/vendor/webrat/spec/integration/merb/spec/webrat_spec.rb +39 -0
  177. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/app_script.rb +31 -0
  178. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/common.rb +64 -0
  179. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/gem_ext.rb +124 -0
  180. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/main.thor +150 -0
  181. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/ops.rb +93 -0
  182. data/vendor/webrat/spec/integration/merb/tasks/merb.thor/utils.rb +40 -0
  183. data/vendor/webrat/spec/integration/rack/Rakefile +5 -0
  184. data/vendor/webrat/spec/integration/rack/app.rb +73 -0
  185. data/vendor/webrat/spec/integration/rack/test/helper.rb +20 -0
  186. data/vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb +62 -0
  187. data/vendor/webrat/spec/integration/rails/Rakefile +30 -0
  188. data/vendor/webrat/spec/integration/rails/app/controllers/application.rb +15 -0
  189. data/vendor/webrat/spec/integration/rails/app/controllers/buttons_controller.rb +7 -0
  190. data/vendor/webrat/spec/integration/rails/app/controllers/fields_controller.rb +4 -0
  191. data/vendor/webrat/spec/integration/rails/app/controllers/links_controller.rb +7 -0
  192. data/vendor/webrat/spec/integration/rails/app/controllers/webrat_controller.rb +43 -0
  193. data/vendor/webrat/spec/integration/rails/app/helpers/buttons_helper.rb +2 -0
  194. data/vendor/webrat/spec/integration/rails/app/helpers/fields_helper.rb +2 -0
  195. data/vendor/webrat/spec/integration/rails/app/helpers/links_helper.rb +2 -0
  196. data/vendor/webrat/spec/integration/rails/app/views/buttons/show.html.erb +11 -0
  197. data/vendor/webrat/spec/integration/rails/app/views/fields/show.html.erb +9 -0
  198. data/vendor/webrat/spec/integration/rails/app/views/links/show.html.erb +5 -0
  199. data/vendor/webrat/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +4 -0
  200. data/vendor/webrat/spec/integration/rails/app/views/webrat/buttons.html.erb +11 -0
  201. data/vendor/webrat/spec/integration/rails/app/views/webrat/form.html.erb +28 -0
  202. data/vendor/webrat/spec/integration/rails/config/boot.rb +109 -0
  203. data/vendor/webrat/spec/integration/rails/config/environment.rb +12 -0
  204. data/vendor/webrat/spec/integration/rails/config/environments/development.rb +17 -0
  205. data/vendor/webrat/spec/integration/rails/config/environments/selenium.rb +22 -0
  206. data/vendor/webrat/spec/integration/rails/config/environments/test.rb +22 -0
  207. data/vendor/webrat/spec/integration/rails/config/initializers/inflections.rb +10 -0
  208. data/vendor/webrat/spec/integration/rails/config/initializers/mime_types.rb +5 -0
  209. data/vendor/webrat/spec/integration/rails/config/initializers/new_rails_defaults.rb +17 -0
  210. data/vendor/webrat/spec/integration/rails/config/locales/en.yml +5 -0
  211. data/vendor/webrat/spec/integration/rails/config/routes.rb +18 -0
  212. data/vendor/webrat/spec/integration/rails/public/404.html +30 -0
  213. data/vendor/webrat/spec/integration/rails/public/422.html +30 -0
  214. data/vendor/webrat/spec/integration/rails/public/500.html +33 -0
  215. data/vendor/webrat/spec/integration/rails/script/about +4 -0
  216. data/vendor/webrat/spec/integration/rails/script/console +3 -0
  217. data/vendor/webrat/spec/integration/rails/script/dbconsole +3 -0
  218. data/vendor/webrat/spec/integration/rails/script/destroy +3 -0
  219. data/vendor/webrat/spec/integration/rails/script/generate +3 -0
  220. data/vendor/webrat/spec/integration/rails/script/performance/benchmarker +3 -0
  221. data/vendor/webrat/spec/integration/rails/script/performance/profiler +3 -0
  222. data/vendor/webrat/spec/integration/rails/script/performance/request +3 -0
  223. data/vendor/webrat/spec/integration/rails/script/plugin +3 -0
  224. data/vendor/webrat/spec/integration/rails/script/process/inspector +3 -0
  225. data/vendor/webrat/spec/integration/rails/script/process/reaper +3 -0
  226. data/vendor/webrat/spec/integration/rails/script/process/spawner +3 -0
  227. data/vendor/webrat/spec/integration/rails/script/runner +3 -0
  228. data/vendor/webrat/spec/integration/rails/script/server +3 -0
  229. data/vendor/webrat/spec/integration/rails/test/integration/button_click_test.rb +80 -0
  230. data/vendor/webrat/spec/integration/rails/test/integration/fill_in_test.rb +24 -0
  231. data/vendor/webrat/spec/integration/rails/test/integration/link_click_test.rb +27 -0
  232. data/vendor/webrat/spec/integration/rails/test/integration/webrat_test.rb +97 -0
  233. data/vendor/webrat/spec/integration/rails/test/test_helper.rb +25 -0
  234. data/vendor/webrat/spec/integration/sinatra/Rakefile +5 -0
  235. data/vendor/webrat/spec/integration/sinatra/classic_app.rb +64 -0
  236. data/vendor/webrat/spec/integration/sinatra/modular_app.rb +16 -0
  237. data/vendor/webrat/spec/integration/sinatra/test/classic_app_test.rb +37 -0
  238. data/vendor/webrat/spec/integration/sinatra/test/modular_app_test.rb +18 -0
  239. data/vendor/webrat/spec/integration/sinatra/test/test_helper.rb +16 -0
  240. data/vendor/webrat/spec/private/core/configuration_spec.rb +116 -0
  241. data/vendor/webrat/spec/private/core/field_spec.rb +85 -0
  242. data/vendor/webrat/spec/private/core/link_spec.rb +24 -0
  243. data/vendor/webrat/spec/private/core/logging_spec.rb +10 -0
  244. data/vendor/webrat/spec/private/core/session_spec.rb +195 -0
  245. data/vendor/webrat/spec/private/mechanize/mechanize_session_spec.rb +81 -0
  246. data/vendor/webrat/spec/private/merb/attaches_file_spec.rb +93 -0
  247. data/vendor/webrat/spec/private/merb/merb_session_spec.rb +61 -0
  248. data/vendor/webrat/spec/private/nokogiri_spec.rb +77 -0
  249. data/vendor/webrat/spec/private/rails/attaches_file_spec.rb +81 -0
  250. data/vendor/webrat/spec/private/rails/rails_session_spec.rb +112 -0
  251. data/vendor/webrat/spec/private/selenium/application_servers/rails_spec.rb +26 -0
  252. data/vendor/webrat/spec/public/basic_auth_spec.rb +24 -0
  253. data/vendor/webrat/spec/public/check_spec.rb +191 -0
  254. data/vendor/webrat/spec/public/choose_spec.rb +118 -0
  255. data/vendor/webrat/spec/public/click_area_spec.rb +106 -0
  256. data/vendor/webrat/spec/public/click_button_spec.rb +496 -0
  257. data/vendor/webrat/spec/public/click_link_spec.rb +511 -0
  258. data/vendor/webrat/spec/public/fill_in_spec.rb +209 -0
  259. data/vendor/webrat/spec/public/locators/field_by_xpath_spec.rb +19 -0
  260. data/vendor/webrat/spec/public/locators/field_labeled_spec.rb +172 -0
  261. data/vendor/webrat/spec/public/locators/field_with_id_spec.rb +16 -0
  262. data/vendor/webrat/spec/public/matchers/contain_spec.rb +114 -0
  263. data/vendor/webrat/spec/public/matchers/have_selector_spec.rb +142 -0
  264. data/vendor/webrat/spec/public/matchers/have_tag_spec.rb +39 -0
  265. data/vendor/webrat/spec/public/matchers/have_xpath_spec.rb +136 -0
  266. data/vendor/webrat/spec/public/reload_spec.rb +10 -0
  267. data/vendor/webrat/spec/public/save_and_open_spec.rb +70 -0
  268. data/vendor/webrat/spec/public/select_date_spec.rb +112 -0
  269. data/vendor/webrat/spec/public/select_datetime_spec.rb +137 -0
  270. data/vendor/webrat/spec/public/select_spec.rb +249 -0
  271. data/vendor/webrat/spec/public/select_time_spec.rb +100 -0
  272. data/vendor/webrat/spec/public/selenium/application_server_factory_spec.rb +49 -0
  273. data/vendor/webrat/spec/public/selenium/application_servers/external_spec.rb +12 -0
  274. data/vendor/webrat/spec/public/selenium/selenium_session_spec.rb +37 -0
  275. data/vendor/webrat/spec/public/set_hidden_field_spec.rb +5 -0
  276. data/vendor/webrat/spec/public/submit_form_spec.rb +5 -0
  277. data/vendor/webrat/spec/public/visit_spec.rb +58 -0
  278. data/vendor/webrat/spec/public/within_spec.rb +177 -0
  279. data/vendor/webrat/spec/rcov.opts +1 -0
  280. data/vendor/webrat/spec/spec.opts +2 -0
  281. data/vendor/webrat/spec/spec_helper.rb +50 -0
  282. metadata +474 -0
@@ -0,0 +1,49 @@
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
@@ -0,0 +1,12 @@
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
@@ -0,0 +1,37 @@
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
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe "set_hidden_field" do
4
+ it "needs specs"
5
+ end
@@ -0,0 +1,5 @@
1
+ require File.expand_path(File.dirname(__FILE__) + "/../spec_helper")
2
+
3
+ describe "submit_form" do
4
+ it "needs specs"
5
+ end
@@ -0,0 +1,58 @@
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
@@ -0,0 +1,177 @@
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
@@ -0,0 +1 @@
1
+ -x gems,spec
@@ -0,0 +1,2 @@
1
+ --diff
2
+ --color
@@ -0,0 +1,50 @@
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
metadata ADDED
@@ -0,0 +1,474 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Winton Welsh
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-06 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bmabey-email_spec
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - "="
22
+ - !ruby/object:Gem::Version
23
+ version: 0.2.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: cucumber
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.3.93
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: haml
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.2.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: less
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "="
52
+ - !ruby/object:Gem::Version
53
+ version: 0.8.11
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: javan-whenever
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.3.6
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: rack
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.0.0
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: rack-test
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "="
82
+ - !ruby/object:Gem::Version
83
+ version: 0.4.0
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: rspec
87
+ type: :runtime
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "="
92
+ - !ruby/object:Gem::Version
93
+ version: 1.2.8
94
+ version:
95
+ - !ruby/object:Gem::Dependency
96
+ name: shotgun
97
+ type: :runtime
98
+ version_requirement:
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "="
102
+ - !ruby/object:Gem::Version
103
+ version: "0.3"
104
+ version:
105
+ - !ruby/object:Gem::Dependency
106
+ name: sinatra
107
+ type: :runtime
108
+ version_requirement:
109
+ version_requirements: !ruby/object:Gem::Requirement
110
+ requirements:
111
+ - - "="
112
+ - !ruby/object:Gem::Version
113
+ version: 0.9.4
114
+ version:
115
+ - !ruby/object:Gem::Dependency
116
+ name: winton-active_wrapper
117
+ type: :runtime
118
+ version_requirement:
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "="
122
+ - !ruby/object:Gem::Version
123
+ version: 0.1.9
124
+ version:
125
+ - !ruby/object:Gem::Dependency
126
+ name: winton-externals
127
+ type: :runtime
128
+ version_requirement:
129
+ version_requirements: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - "="
132
+ - !ruby/object:Gem::Version
133
+ version: 1.0.2
134
+ version:
135
+ - !ruby/object:Gem::Dependency
136
+ name: winton-fetcher
137
+ type: :runtime
138
+ version_requirement:
139
+ version_requirements: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - "="
142
+ - !ruby/object:Gem::Version
143
+ version: 0.1.2
144
+ version:
145
+ - !ruby/object:Gem::Dependency
146
+ name: winton-secret_key
147
+ type: :runtime
148
+ version_requirement:
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - "="
152
+ - !ruby/object:Gem::Version
153
+ version: 0.1.0
154
+ version:
155
+ description:
156
+ email: mail@wintoni.us
157
+ executables: []
158
+
159
+ extensions: []
160
+
161
+ extra_rdoc_files:
162
+ - README.markdown
163
+ files:
164
+ - Capfile
165
+ - config/database.example.yml
166
+ - config/deploy.example.rb
167
+ - config/externals.yml
168
+ - config/mail.example.yml
169
+ - config/schedule.rb
170
+ - config.ru
171
+ - db/migrate/001_users.rb
172
+ - db/migrate/002_user_emails.rb
173
+ - features/front_page.feature
174
+ - features/read_email.feature
175
+ - features/receive_email.feature
176
+ - features/step_definitions/email.rb
177
+ - features/step_definitions/given.rb
178
+ - features/step_definitions/then.rb
179
+ - features/step_definitions/when.rb
180
+ - features/support/env.rb
181
+ - features/support/helpers.rb
182
+ - features/support/rspec.rb
183
+ - features/support/webrat.rb
184
+ - features/update_user.feature
185
+ - gemspec.rb
186
+ - lib/sum/boot.rb
187
+ - lib/sum/controller/cron.rb
188
+ - lib/sum/controller/front.rb
189
+ - lib/sum/controller/new.rb
190
+ - lib/sum/helper/application.rb
191
+ - lib/sum/helper/cron.rb
192
+ - lib/sum/helper/new.rb
193
+ - lib/sum/model/incoming_mail.rb
194
+ - lib/sum/model/user.rb
195
+ - lib/sum/model/user_email.rb
196
+ - lib/sum/view/email.haml
197
+ - lib/sum/view/field.haml
198
+ - lib/sum/view/form.haml
199
+ - lib/sum/view/front.haml
200
+ - lib/sum/view/layout.haml
201
+ - lib/sum/view/new.haml
202
+ - lib/sum/view/success.haml
203
+ - lib/sum/view/tos.haml
204
+ - lib/sum.rb
205
+ - MIT-LICENSE
206
+ - public/image/1.png
207
+ - public/image/2.png
208
+ - public/image/3.png
209
+ - public/image/bg.png
210
+ - public/image/bot.png
211
+ - public/image/facebox/b.png
212
+ - public/image/facebox/bl.png
213
+ - public/image/facebox/br.png
214
+ - public/image/facebox/closelabel.gif
215
+ - public/image/facebox/loading.gif
216
+ - public/image/facebox/tl.png
217
+ - public/image/facebox/tr.png
218
+ - public/image/favicon.png
219
+ - public/image/field_off.png
220
+ - public/image/field_on.png
221
+ - public/image/ribbon.png
222
+ - public/image/screenshot_receive.png
223
+ - public/image/screenshot_send.png
224
+ - public/image/submit.png
225
+ - public/image/top.png
226
+ - public/javascript/facebox.js
227
+ - public/javascript/jquery-1.3.2.js
228
+ - public/javascript/sum.js
229
+ - public/style/facebox.css
230
+ - public/style/ie.css
231
+ - public/style/print.css
232
+ - public/style/screen.css
233
+ - public/style/sum.css
234
+ - public/style/sum.less
235
+ - Rakefile
236
+ - README.markdown
237
+ - spec/spec.opts
238
+ - spec/spec_helper.rb
239
+ - spec/sum/model/incoming_mail_spec.rb
240
+ - spec/sum/model/user_spec.rb
241
+ - sum.gemspec
242
+ - vendor/webrat/History.txt
243
+ - vendor/webrat/install.rb
244
+ - vendor/webrat/lib/webrat/core/configuration.rb
245
+ - vendor/webrat/lib/webrat/core/elements/area.rb
246
+ - vendor/webrat/lib/webrat/core/elements/element.rb
247
+ - vendor/webrat/lib/webrat/core/elements/field.rb
248
+ - vendor/webrat/lib/webrat/core/elements/form.rb
249
+ - vendor/webrat/lib/webrat/core/elements/label.rb
250
+ - vendor/webrat/lib/webrat/core/elements/link.rb
251
+ - vendor/webrat/lib/webrat/core/elements/select_option.rb
252
+ - vendor/webrat/lib/webrat/core/locators/area_locator.rb
253
+ - vendor/webrat/lib/webrat/core/locators/button_locator.rb
254
+ - vendor/webrat/lib/webrat/core/locators/field_by_id_locator.rb
255
+ - vendor/webrat/lib/webrat/core/locators/field_labeled_locator.rb
256
+ - vendor/webrat/lib/webrat/core/locators/field_locator.rb
257
+ - vendor/webrat/lib/webrat/core/locators/field_named_locator.rb
258
+ - vendor/webrat/lib/webrat/core/locators/form_locator.rb
259
+ - vendor/webrat/lib/webrat/core/locators/label_locator.rb
260
+ - vendor/webrat/lib/webrat/core/locators/link_locator.rb
261
+ - vendor/webrat/lib/webrat/core/locators/locator.rb
262
+ - vendor/webrat/lib/webrat/core/locators/select_option_locator.rb
263
+ - vendor/webrat/lib/webrat/core/locators.rb
264
+ - vendor/webrat/lib/webrat/core/logging.rb
265
+ - vendor/webrat/lib/webrat/core/matchers/have_content.rb
266
+ - vendor/webrat/lib/webrat/core/matchers/have_selector.rb
267
+ - vendor/webrat/lib/webrat/core/matchers/have_tag.rb
268
+ - vendor/webrat/lib/webrat/core/matchers/have_xpath.rb
269
+ - vendor/webrat/lib/webrat/core/matchers.rb
270
+ - vendor/webrat/lib/webrat/core/methods.rb
271
+ - vendor/webrat/lib/webrat/core/mime.rb
272
+ - vendor/webrat/lib/webrat/core/save_and_open_page.rb
273
+ - vendor/webrat/lib/webrat/core/scope.rb
274
+ - vendor/webrat/lib/webrat/core/session.rb
275
+ - vendor/webrat/lib/webrat/core/xml/hpricot.rb
276
+ - vendor/webrat/lib/webrat/core/xml/nokogiri.rb
277
+ - vendor/webrat/lib/webrat/core/xml/rexml.rb
278
+ - vendor/webrat/lib/webrat/core/xml.rb
279
+ - vendor/webrat/lib/webrat/core.rb
280
+ - vendor/webrat/lib/webrat/core_extensions/blank.rb
281
+ - vendor/webrat/lib/webrat/core_extensions/deprecate.rb
282
+ - vendor/webrat/lib/webrat/core_extensions/detect_mapped.rb
283
+ - vendor/webrat/lib/webrat/core_extensions/meta_class.rb
284
+ - vendor/webrat/lib/webrat/core_extensions/nil_to_param.rb
285
+ - vendor/webrat/lib/webrat/core_extensions/tcp_socket.rb
286
+ - vendor/webrat/lib/webrat/mechanize.rb
287
+ - vendor/webrat/lib/webrat/merb.rb
288
+ - vendor/webrat/lib/webrat/merb_multipart_support.rb
289
+ - vendor/webrat/lib/webrat/merb_session.rb
290
+ - vendor/webrat/lib/webrat/rack.rb
291
+ - vendor/webrat/lib/webrat/rails.rb
292
+ - vendor/webrat/lib/webrat/rspec-rails.rb
293
+ - vendor/webrat/lib/webrat/selenium/application_server_factory.rb
294
+ - vendor/webrat/lib/webrat/selenium/application_servers/base.rb
295
+ - vendor/webrat/lib/webrat/selenium/application_servers/external.rb
296
+ - vendor/webrat/lib/webrat/selenium/application_servers/merb.rb
297
+ - vendor/webrat/lib/webrat/selenium/application_servers/rails.rb
298
+ - vendor/webrat/lib/webrat/selenium/application_servers/sinatra.rb
299
+ - vendor/webrat/lib/webrat/selenium/application_servers.rb
300
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/button.js
301
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/label.js
302
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webrat.js
303
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlink.js
304
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js
305
+ - vendor/webrat/lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js
306
+ - vendor/webrat/lib/webrat/selenium/matchers/have_content.rb
307
+ - vendor/webrat/lib/webrat/selenium/matchers/have_selector.rb
308
+ - vendor/webrat/lib/webrat/selenium/matchers/have_tag.rb
309
+ - vendor/webrat/lib/webrat/selenium/matchers/have_xpath.rb
310
+ - vendor/webrat/lib/webrat/selenium/matchers.rb
311
+ - vendor/webrat/lib/webrat/selenium/selenium_extensions.js
312
+ - vendor/webrat/lib/webrat/selenium/selenium_rc_server.rb
313
+ - vendor/webrat/lib/webrat/selenium/selenium_session.rb
314
+ - vendor/webrat/lib/webrat/selenium/silence_stream.rb
315
+ - vendor/webrat/lib/webrat/selenium.rb
316
+ - vendor/webrat/lib/webrat/sinatra.rb
317
+ - vendor/webrat/lib/webrat.rb
318
+ - vendor/webrat/MIT-LICENSE.txt
319
+ - vendor/webrat/Rakefile
320
+ - vendor/webrat/README.rdoc
321
+ - vendor/webrat/spec/fakes/test_session.rb
322
+ - vendor/webrat/spec/integration/merb/app/controllers/application.rb
323
+ - vendor/webrat/spec/integration/merb/app/controllers/exceptions.rb
324
+ - vendor/webrat/spec/integration/merb/app/controllers/testing.rb
325
+ - vendor/webrat/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb
326
+ - vendor/webrat/spec/integration/merb/app/views/exceptions/not_found.html.erb
327
+ - vendor/webrat/spec/integration/merb/app/views/layout/application.html.erb
328
+ - vendor/webrat/spec/integration/merb/app/views/testing/show_form.html.erb
329
+ - vendor/webrat/spec/integration/merb/app/views/testing/upload.html.erb
330
+ - vendor/webrat/spec/integration/merb/config/environments/development.rb
331
+ - vendor/webrat/spec/integration/merb/config/environments/rake.rb
332
+ - vendor/webrat/spec/integration/merb/config/environments/test.rb
333
+ - vendor/webrat/spec/integration/merb/config/init.rb
334
+ - vendor/webrat/spec/integration/merb/config/rack.rb
335
+ - vendor/webrat/spec/integration/merb/config/router.rb
336
+ - vendor/webrat/spec/integration/merb/Rakefile
337
+ - vendor/webrat/spec/integration/merb/spec/spec.opts
338
+ - vendor/webrat/spec/integration/merb/spec/spec_helper.rb
339
+ - vendor/webrat/spec/integration/merb/spec/webrat_spec.rb
340
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/app_script.rb
341
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/common.rb
342
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/gem_ext.rb
343
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/main.thor
344
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/ops.rb
345
+ - vendor/webrat/spec/integration/merb/tasks/merb.thor/utils.rb
346
+ - vendor/webrat/spec/integration/rack/app.rb
347
+ - vendor/webrat/spec/integration/rack/Rakefile
348
+ - vendor/webrat/spec/integration/rack/test/helper.rb
349
+ - vendor/webrat/spec/integration/rack/test/webrat_rack_test.rb
350
+ - vendor/webrat/spec/integration/rails/app/controllers/application.rb
351
+ - vendor/webrat/spec/integration/rails/app/controllers/buttons_controller.rb
352
+ - vendor/webrat/spec/integration/rails/app/controllers/fields_controller.rb
353
+ - vendor/webrat/spec/integration/rails/app/controllers/links_controller.rb
354
+ - vendor/webrat/spec/integration/rails/app/controllers/webrat_controller.rb
355
+ - vendor/webrat/spec/integration/rails/app/helpers/buttons_helper.rb
356
+ - vendor/webrat/spec/integration/rails/app/helpers/fields_helper.rb
357
+ - vendor/webrat/spec/integration/rails/app/helpers/links_helper.rb
358
+ - vendor/webrat/spec/integration/rails/app/views/buttons/show.html.erb
359
+ - vendor/webrat/spec/integration/rails/app/views/fields/show.html.erb
360
+ - vendor/webrat/spec/integration/rails/app/views/links/show.html.erb
361
+ - vendor/webrat/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb
362
+ - vendor/webrat/spec/integration/rails/app/views/webrat/buttons.html.erb
363
+ - vendor/webrat/spec/integration/rails/app/views/webrat/form.html.erb
364
+ - vendor/webrat/spec/integration/rails/config/boot.rb
365
+ - vendor/webrat/spec/integration/rails/config/environment.rb
366
+ - vendor/webrat/spec/integration/rails/config/environments/development.rb
367
+ - vendor/webrat/spec/integration/rails/config/environments/selenium.rb
368
+ - vendor/webrat/spec/integration/rails/config/environments/test.rb
369
+ - vendor/webrat/spec/integration/rails/config/initializers/inflections.rb
370
+ - vendor/webrat/spec/integration/rails/config/initializers/mime_types.rb
371
+ - vendor/webrat/spec/integration/rails/config/initializers/new_rails_defaults.rb
372
+ - vendor/webrat/spec/integration/rails/config/locales/en.yml
373
+ - vendor/webrat/spec/integration/rails/config/routes.rb
374
+ - vendor/webrat/spec/integration/rails/public/404.html
375
+ - vendor/webrat/spec/integration/rails/public/422.html
376
+ - vendor/webrat/spec/integration/rails/public/500.html
377
+ - vendor/webrat/spec/integration/rails/Rakefile
378
+ - vendor/webrat/spec/integration/rails/script/about
379
+ - vendor/webrat/spec/integration/rails/script/console
380
+ - vendor/webrat/spec/integration/rails/script/dbconsole
381
+ - vendor/webrat/spec/integration/rails/script/destroy
382
+ - vendor/webrat/spec/integration/rails/script/generate
383
+ - vendor/webrat/spec/integration/rails/script/performance/benchmarker
384
+ - vendor/webrat/spec/integration/rails/script/performance/profiler
385
+ - vendor/webrat/spec/integration/rails/script/performance/request
386
+ - vendor/webrat/spec/integration/rails/script/plugin
387
+ - vendor/webrat/spec/integration/rails/script/process/inspector
388
+ - vendor/webrat/spec/integration/rails/script/process/reaper
389
+ - vendor/webrat/spec/integration/rails/script/process/spawner
390
+ - vendor/webrat/spec/integration/rails/script/runner
391
+ - vendor/webrat/spec/integration/rails/script/server
392
+ - vendor/webrat/spec/integration/rails/test/integration/button_click_test.rb
393
+ - vendor/webrat/spec/integration/rails/test/integration/fill_in_test.rb
394
+ - vendor/webrat/spec/integration/rails/test/integration/link_click_test.rb
395
+ - vendor/webrat/spec/integration/rails/test/integration/webrat_test.rb
396
+ - vendor/webrat/spec/integration/rails/test/test_helper.rb
397
+ - vendor/webrat/spec/integration/sinatra/classic_app.rb
398
+ - vendor/webrat/spec/integration/sinatra/modular_app.rb
399
+ - vendor/webrat/spec/integration/sinatra/Rakefile
400
+ - vendor/webrat/spec/integration/sinatra/test/classic_app_test.rb
401
+ - vendor/webrat/spec/integration/sinatra/test/modular_app_test.rb
402
+ - vendor/webrat/spec/integration/sinatra/test/test_helper.rb
403
+ - vendor/webrat/spec/private/core/configuration_spec.rb
404
+ - vendor/webrat/spec/private/core/field_spec.rb
405
+ - vendor/webrat/spec/private/core/link_spec.rb
406
+ - vendor/webrat/spec/private/core/logging_spec.rb
407
+ - vendor/webrat/spec/private/core/session_spec.rb
408
+ - vendor/webrat/spec/private/mechanize/mechanize_session_spec.rb
409
+ - vendor/webrat/spec/private/merb/attaches_file_spec.rb
410
+ - vendor/webrat/spec/private/merb/merb_session_spec.rb
411
+ - vendor/webrat/spec/private/nokogiri_spec.rb
412
+ - vendor/webrat/spec/private/rails/attaches_file_spec.rb
413
+ - vendor/webrat/spec/private/rails/rails_session_spec.rb
414
+ - vendor/webrat/spec/private/selenium/application_servers/rails_spec.rb
415
+ - vendor/webrat/spec/public/basic_auth_spec.rb
416
+ - vendor/webrat/spec/public/check_spec.rb
417
+ - vendor/webrat/spec/public/choose_spec.rb
418
+ - vendor/webrat/spec/public/click_area_spec.rb
419
+ - vendor/webrat/spec/public/click_button_spec.rb
420
+ - vendor/webrat/spec/public/click_link_spec.rb
421
+ - vendor/webrat/spec/public/fill_in_spec.rb
422
+ - vendor/webrat/spec/public/locators/field_by_xpath_spec.rb
423
+ - vendor/webrat/spec/public/locators/field_labeled_spec.rb
424
+ - vendor/webrat/spec/public/locators/field_with_id_spec.rb
425
+ - vendor/webrat/spec/public/matchers/contain_spec.rb
426
+ - vendor/webrat/spec/public/matchers/have_selector_spec.rb
427
+ - vendor/webrat/spec/public/matchers/have_tag_spec.rb
428
+ - vendor/webrat/spec/public/matchers/have_xpath_spec.rb
429
+ - vendor/webrat/spec/public/reload_spec.rb
430
+ - vendor/webrat/spec/public/save_and_open_spec.rb
431
+ - vendor/webrat/spec/public/select_date_spec.rb
432
+ - vendor/webrat/spec/public/select_datetime_spec.rb
433
+ - vendor/webrat/spec/public/select_spec.rb
434
+ - vendor/webrat/spec/public/select_time_spec.rb
435
+ - vendor/webrat/spec/public/selenium/application_server_factory_spec.rb
436
+ - vendor/webrat/spec/public/selenium/application_servers/external_spec.rb
437
+ - vendor/webrat/spec/public/selenium/selenium_session_spec.rb
438
+ - vendor/webrat/spec/public/set_hidden_field_spec.rb
439
+ - vendor/webrat/spec/public/submit_form_spec.rb
440
+ - vendor/webrat/spec/public/visit_spec.rb
441
+ - vendor/webrat/spec/public/within_spec.rb
442
+ - vendor/webrat/spec/rcov.opts
443
+ - vendor/webrat/spec/spec.opts
444
+ - vendor/webrat/spec/spec_helper.rb
445
+ has_rdoc: true
446
+ homepage: http://github.com/winton/sum
447
+ licenses: []
448
+
449
+ post_install_message:
450
+ rdoc_options: []
451
+
452
+ require_paths:
453
+ - lib
454
+ required_ruby_version: !ruby/object:Gem::Requirement
455
+ requirements:
456
+ - - ">="
457
+ - !ruby/object:Gem::Version
458
+ version: "0"
459
+ version:
460
+ required_rubygems_version: !ruby/object:Gem::Requirement
461
+ requirements:
462
+ - - ">="
463
+ - !ruby/object:Gem::Version
464
+ version: "0"
465
+ version:
466
+ requirements: []
467
+
468
+ rubyforge_project:
469
+ rubygems_version: 1.3.5
470
+ signing_key:
471
+ specification_version: 3
472
+ summary: A simple budgeting app built on Sinatra
473
+ test_files: []
474
+