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,70 +1,70 @@
1
- require "webrat"
2
- require "selenium/client"
3
- require "webrat/selenium/silence_stream"
4
- require "webrat/selenium/selenium_session"
5
- require "webrat/selenium/matchers"
6
- require "webrat/core_extensions/tcp_socket"
7
-
8
- module Webrat
9
- # To use Webrat's Selenium support, you'll need the selenium-client gem installed.
10
- # Activate it with (for example, in your <tt>env.rb</tt>):
11
- #
12
- # require "webrat"
13
- #
14
- # Webrat.configure do |config|
15
- # config.mode = :selenium
16
- # end
17
- #
18
- # == Dropping down to the selenium-client API
19
- #
20
- # If you ever need to do something with Selenium not provided in the Webrat API,
21
- # you can always drop down to the selenium-client API using the <tt>selenium</tt> method.
22
- # For example:
23
- #
24
- # When "I drag the photo to the left" do
25
- # selenium.dragdrop("id=photo_123", "+350, 0")
26
- # end
27
- #
28
- # == Choosing the underlying framework to test
29
- #
30
- # Webrat assumes you're using rails by default but it can also work with sinatra
31
- # and merb. To take advantage of this you can use the configuration block to
32
- # set the application_framework variable.
33
- # require "webrat"
34
- #
35
- # Webrat.configure do |config|
36
- # config.mode = :selenium
37
- # config.application_port = 4567
38
- # config.application_framework = :sinatra # could also be :merb
39
- # end
40
- #
41
- # == Auto-starting of the appserver and java server
42
- #
43
- # Webrat will automatically start the Selenium Java server process and an instance
44
- # of Mongrel when a test is run. The Mongrel will run in the "selenium" environment
45
- # instead of "test", so ensure you've got that defined, and will run on port
46
- # Webrat.configuration.application_port.
47
- #
48
- # == Waiting
49
- #
50
- # In order to make writing Selenium tests as easy as possible, Webrat will automatically
51
- # wait for the correct elements to exist on the page when trying to manipulate them
52
- # with methods like <tt>fill_in</tt>, etc. In general, this means you should be able to write
53
- # your Webrat::Selenium tests ignoring the concurrency issues that can plague in-browser
54
- # testing, so long as you're using the Webrat API.
55
- module Selenium
56
- module Methods
57
- def response
58
- webrat_session.response
59
- end
60
-
61
- def wait_for(*args, &block)
62
- webrat_session.wait_for(*args, &block)
63
- end
64
-
65
- def save_and_open_screengrab
66
- webrat_session.save_and_open_screengrab
67
- end
68
- end
69
- end
70
- end
1
+ require "webrat"
2
+ require "selenium/client"
3
+ require "webrat/selenium/silence_stream"
4
+ require "webrat/selenium/selenium_session"
5
+ require "webrat/selenium/matchers"
6
+ require "webrat/core_extensions/tcp_socket"
7
+
8
+ module Webrat
9
+ # To use Webrat's Selenium support, you'll need the selenium-client gem installed.
10
+ # Activate it with (for example, in your <tt>env.rb</tt>):
11
+ #
12
+ # require "webrat"
13
+ #
14
+ # Webrat.configure do |config|
15
+ # config.mode = :selenium
16
+ # end
17
+ #
18
+ # == Dropping down to the selenium-client API
19
+ #
20
+ # If you ever need to do something with Selenium not provided in the Webrat API,
21
+ # you can always drop down to the selenium-client API using the <tt>selenium</tt> method.
22
+ # For example:
23
+ #
24
+ # When "I drag the photo to the left" do
25
+ # selenium.dragdrop("id=photo_123", "+350, 0")
26
+ # end
27
+ #
28
+ # == Choosing the underlying framework to test
29
+ #
30
+ # Webrat assumes you're using rails by default but it can also work with sinatra
31
+ # and merb. To take advantage of this you can use the configuration block to
32
+ # set the application_framework variable.
33
+ # require "webrat"
34
+ #
35
+ # Webrat.configure do |config|
36
+ # config.mode = :selenium
37
+ # config.application_port = 4567
38
+ # config.application_framework = :sinatra # could also be :merb
39
+ # end
40
+ #
41
+ # == Auto-starting of the appserver and java server
42
+ #
43
+ # Webrat will automatically start the Selenium Java server process and an instance
44
+ # of Mongrel when a test is run. The Mongrel will run in the "selenium" environment
45
+ # instead of "test", so ensure you've got that defined, and will run on port
46
+ # Webrat.configuration.application_port.
47
+ #
48
+ # == Waiting
49
+ #
50
+ # In order to make writing Selenium tests as easy as possible, Webrat will automatically
51
+ # wait for the correct elements to exist on the page when trying to manipulate them
52
+ # with methods like <tt>fill_in</tt>, etc. In general, this means you should be able to write
53
+ # your Webrat::Selenium tests ignoring the concurrency issues that can plague in-browser
54
+ # testing, so long as you're using the Webrat API.
55
+ module Selenium
56
+ module Methods
57
+ def response
58
+ webrat_session.response
59
+ end
60
+
61
+ def wait_for(*args, &block)
62
+ webrat_session.wait_for(*args, &block)
63
+ end
64
+
65
+ def save_and_open_screengrab
66
+ webrat_session.save_and_open_screengrab
67
+ end
68
+ end
69
+ end
70
+ end
data/lib/webrat.rb CHANGED
@@ -1,18 +1,18 @@
1
- require "rack"
2
- require "nokogiri"
3
-
4
- module Webrat
5
- VERSION = "0.6.rc1"
6
-
7
- autoload :MechanizeAdapter, "webrat/adapters/mechanize"
8
- autoload :MerbAdapter, "webrat/adapters/merb"
9
- autoload :RackAdapter, "webrat/adapters/rack"
10
- autoload :RailsAdapter, "webrat/adapters/rails"
11
- autoload :SinatraAdapter, "webrat/adapters/sinatra"
12
-
13
- # The common base class for all exceptions raised by Webrat.
14
- class WebratError < StandardError
15
- end
16
- end
17
-
18
- require "webrat/core"
1
+ require "rack"
2
+ require "nokogiri"
3
+
4
+ module Webrat
5
+ VERSION = "0.6.rc1"
6
+
7
+ autoload :MechanizeAdapter, "webrat/adapters/mechanize"
8
+ autoload :MerbAdapter, "webrat/adapters/merb"
9
+ autoload :RackAdapter, "webrat/adapters/rack"
10
+ autoload :RailsAdapter, "webrat/adapters/rails"
11
+ autoload :SinatraAdapter, "webrat/adapters/sinatra"
12
+
13
+ # The common base class for all exceptions raised by Webrat.
14
+ class WebratError < StandardError
15
+ end
16
+ end
17
+
18
+ require "webrat/core"
@@ -1,37 +1,37 @@
1
- module Webrat #:nodoc:
2
- def self.adapter_class #:nodoc:
3
- TestAdapter
4
- end
5
-
6
- class TestAdapter #:nodoc:
7
- attr_accessor :response_body
8
- attr_writer :response_code
9
-
10
- def initialize(*args)
11
- end
12
-
13
- def doc_root
14
- File.expand_path(File.join(".", "public"))
15
- end
16
-
17
- def response
18
- @response ||= Object.new
19
- end
20
-
21
- def response_code
22
- @response_code || 200
23
- end
24
-
25
- def get(url, data, headers = nil)
26
- end
27
-
28
- def post(url, data, headers = nil)
29
- end
30
-
31
- def put(url, data, headers = nil)
32
- end
33
-
34
- def delete(url, data, headers = nil)
35
- end
36
- end
37
- end
1
+ module Webrat #:nodoc:
2
+ def self.adapter_class #:nodoc:
3
+ TestAdapter
4
+ end
5
+
6
+ class TestAdapter #:nodoc:
7
+ attr_accessor :response_body
8
+ attr_writer :response_code
9
+
10
+ def initialize(*args)
11
+ end
12
+
13
+ def doc_root
14
+ File.expand_path(File.join(".", "public"))
15
+ end
16
+
17
+ def response
18
+ @response ||= Object.new
19
+ end
20
+
21
+ def response_code
22
+ @response_code || 200
23
+ end
24
+
25
+ def get(url, data, headers = nil)
26
+ end
27
+
28
+ def post(url, data, headers = nil)
29
+ end
30
+
31
+ def put(url, data, headers = nil)
32
+ end
33
+
34
+ def delete(url, data, headers = nil)
35
+ end
36
+ end
37
+ end
@@ -1,7 +1,7 @@
1
- require 'rubygems'
2
- require 'spec/rake/spectask'
3
-
4
- Spec::Rake::SpecTask.new do |t|
5
- t.spec_opts = ['--color']
6
- t.spec_files = FileList['spec/**/*_spec.rb']
1
+ require 'rubygems'
2
+ require 'spec/rake/spectask'
3
+
4
+ Spec::Rake::SpecTask.new do |t|
5
+ t.spec_opts = ['--color']
6
+ t.spec_files = FileList['spec/**/*_spec.rb']
7
7
  end
@@ -1,2 +1,2 @@
1
- require "sample_app"
1
+ require "sample_app"
2
2
  run SampleApp
@@ -1,20 +1,20 @@
1
- require "rubygems"
2
- require "sinatra/base"
3
-
4
- class SampleApp < Sinatra::Default
5
- get "/" do
6
- "Hello World"
7
- end
8
-
9
- get "/internal_redirect" do
10
- redirect URI.join(request.url, "redirected").to_s
11
- end
12
-
13
- get "/external_redirect" do
14
- redirect "http://example.tst/"
15
- end
16
-
17
- get "/redirected" do
18
- "Redirected"
19
- end
20
- end
1
+ require "rubygems"
2
+ require "sinatra/base"
3
+
4
+ class SampleApp < Sinatra::Default
5
+ get "/" do
6
+ "Hello World"
7
+ end
8
+
9
+ get "/internal_redirect" do
10
+ redirect URI.join(request.url, "redirected").to_s
11
+ end
12
+
13
+ get "/external_redirect" do
14
+ redirect "http://example.tst/"
15
+ end
16
+
17
+ get "/redirected" do
18
+ "Redirected"
19
+ end
20
+ end
@@ -1,22 +1,22 @@
1
- require File.dirname(__FILE__) + "/spec_helper"
2
-
3
- describe "Webrat's Mechanize mode" do
4
- it "should work" do
5
- response = visit("http://localhost:9292/")
6
- response.should contain("Hello World")
7
- end
8
-
9
- it "should follow redirects" do
10
- response = visit("http://localhost:9292/internal_redirect")
11
- response.should contain("Redirected")
12
- end
13
-
14
- it "should follow links"
15
- it "should submit forms"
16
- it "should not follow external redirects" do
17
- pending do
18
- response = visit("http://localhost:9292/external_redirect")
19
- response.should contain("Foo")
20
- end
21
- end
22
- end
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe "Webrat's Mechanize mode" do
4
+ it "should work" do
5
+ response = visit("http://localhost:9292/")
6
+ response.should contain("Hello World")
7
+ end
8
+
9
+ it "should follow redirects" do
10
+ response = visit("http://localhost:9292/internal_redirect")
11
+ response.should contain("Redirected")
12
+ end
13
+
14
+ it "should follow links"
15
+ it "should submit forms"
16
+ it "should not follow external redirects" do
17
+ pending do
18
+ response = visit("http://localhost:9292/external_redirect")
19
+ response.should contain("Foo")
20
+ end
21
+ end
22
+ end
@@ -1,27 +1,27 @@
1
- require "rubygems"
2
- require "spec"
3
-
4
- $LOAD_PATH.unshift File.dirname(__FILE__) + "/../../../../lib"
5
- require "webrat"
6
-
7
- Webrat.configure do |config|
8
- config.mode = :mechanize
9
- end
10
-
11
- Spec::Runner.configure do |config|
12
- config.include Webrat::Methods
13
- config.include Webrat::Matchers
14
-
15
- config.before :suite do
16
- if File.exists?("rack.pid")
17
- Process.kill("TERM", File.read("rack.pid").to_i)
18
- end
19
-
20
- system "rackup --daemonize --pid rack.pid config.ru"
21
- end
22
-
23
- config.after :suite do
24
- Process.kill("TERM", File.read("rack.pid").to_i)
25
- end
26
- end
27
-
1
+ require "rubygems"
2
+ require "spec"
3
+
4
+ $LOAD_PATH.unshift File.dirname(__FILE__) + "/../../../../lib"
5
+ require "webrat"
6
+
7
+ Webrat.configure do |config|
8
+ config.mode = :mechanize
9
+ end
10
+
11
+ Spec::Runner.configure do |config|
12
+ config.include Webrat::Methods
13
+ config.include Webrat::Matchers
14
+
15
+ config.before :suite do
16
+ if File.exists?("rack.pid")
17
+ Process.kill("TERM", File.read("rack.pid").to_i)
18
+ end
19
+
20
+ system "rackup --daemonize --pid rack.pid config.ru"
21
+ end
22
+
23
+ config.after :suite do
24
+ Process.kill("TERM", File.read("rack.pid").to_i)
25
+ end
26
+ end
27
+
@@ -1,21 +1,21 @@
1
- .DS_Store
2
- log/*
3
- tmp/*
4
- TAGS
5
- *~
6
- .#*
7
- schema/schema.rb
8
- schema/*_structure.sql
9
- schema/*.sqlite3
10
- schema/*.sqlite
11
- schema/*.db
12
- *.sqlite
13
- *.sqlite3
14
- *.db
15
- src/*
16
- .hgignore
17
- .hg/*
18
- .svn/*
19
- gems/gems/*
20
- gems/specifications/*
1
+ .DS_Store
2
+ log/*
3
+ tmp/*
4
+ TAGS
5
+ *~
6
+ .#*
7
+ schema/schema.rb
8
+ schema/*_structure.sql
9
+ schema/*.sqlite3
10
+ schema/*.sqlite
11
+ schema/*.db
12
+ *.sqlite
13
+ *.sqlite3
14
+ *.db
15
+ src/*
16
+ .hgignore
17
+ .hg/*
18
+ .svn/*
19
+ gems/gems/*
20
+ gems/specifications/*
21
21
  merb_profile_results
@@ -1,35 +1,35 @@
1
- require 'rubygems'
2
- require 'rake/rdoctask'
3
-
4
- require 'merb-core'
5
- require 'merb-core/tasks/merb'
6
-
7
- include FileUtils
8
-
9
- # Load the basic runtime dependencies; this will include
10
- # any plugins and therefore plugin rake tasks.
11
- init_env = ENV['MERB_ENV'] || 'rake'
12
- Merb.load_dependencies(:environment => init_env)
13
-
14
- # Get Merb plugins and dependencies
15
- Merb::Plugins.rakefiles.each { |r| require r }
16
-
17
- # Load any app level custom rakefile extensions from lib/tasks
18
- tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
19
- rake_files = Dir["#{tasks_path}/*.rake"]
20
- rake_files.each{|rake_file| load rake_file }
21
-
22
- desc "Start runner environment"
23
- task :merb_env do
24
- Merb.start_environment(:environment => init_env, :adapter => 'runner')
25
- end
26
-
27
- require 'spec/rake/spectask'
28
- require 'merb-core/test/tasks/spectasks'
29
- desc 'Default: run spec examples'
30
- task :default => 'spec'
31
-
32
- ##############################################################################
33
- # ADD YOUR CUSTOM TASKS IN /lib/tasks
34
- # NAME YOUR RAKE FILES file_name.rake
35
- ##############################################################################
1
+ require 'rubygems'
2
+ require 'rake/rdoctask'
3
+
4
+ require 'merb-core'
5
+ require 'merb-core/tasks/merb'
6
+
7
+ include FileUtils
8
+
9
+ # Load the basic runtime dependencies; this will include
10
+ # any plugins and therefore plugin rake tasks.
11
+ init_env = ENV['MERB_ENV'] || 'rake'
12
+ Merb.load_dependencies(:environment => init_env)
13
+
14
+ # Get Merb plugins and dependencies
15
+ Merb::Plugins.rakefiles.each { |r| require r }
16
+
17
+ # Load any app level custom rakefile extensions from lib/tasks
18
+ tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
19
+ rake_files = Dir["#{tasks_path}/*.rake"]
20
+ rake_files.each{|rake_file| load rake_file }
21
+
22
+ desc "Start runner environment"
23
+ task :merb_env do
24
+ Merb.start_environment(:environment => init_env, :adapter => 'runner')
25
+ end
26
+
27
+ require 'spec/rake/spectask'
28
+ require 'merb-core/test/tasks/spectasks'
29
+ desc 'Default: run spec examples'
30
+ task :default => 'spec'
31
+
32
+ ##############################################################################
33
+ # ADD YOUR CUSTOM TASKS IN /lib/tasks
34
+ # NAME YOUR RAKE FILES file_name.rake
35
+ ##############################################################################
@@ -1,2 +1,2 @@
1
- class Application < Merb::Controller
2
- end
1
+ class Application < Merb::Controller
2
+ end
@@ -1,13 +1,13 @@
1
- class Exceptions < Merb::Controller
2
-
3
- # handle NotFound exceptions (404)
4
- def not_found
5
- render :format => :html
6
- end
7
-
8
- # handle NotAcceptable exceptions (406)
9
- def not_acceptable
10
- render :format => :html
11
- end
12
-
13
- end
1
+ class Exceptions < Merb::Controller
2
+
3
+ # handle NotFound exceptions (404)
4
+ def not_found
5
+ render :format => :html
6
+ end
7
+
8
+ # handle NotAcceptable exceptions (406)
9
+ def not_acceptable
10
+ render :format => :html
11
+ end
12
+
13
+ end
@@ -1,27 +1,27 @@
1
- class Testing < Application
2
-
3
- def show_form
4
- render
5
- end
6
-
7
- def upload
8
- case request.method
9
- when :get then render
10
- when :post then
11
- uploaded_file = params[:uploaded_file]
12
- render [uploaded_file[:filename], uploaded_file[:tempfile].class.name].inspect
13
- end
14
- end
15
-
16
- def submit_form
17
- end
18
-
19
- def internal_redirect
20
- redirect "/"
21
- end
22
-
23
- def external_redirect
24
- redirect "http://google.com"
25
- end
26
-
27
- end
1
+ class Testing < Application
2
+
3
+ def show_form
4
+ render
5
+ end
6
+
7
+ def upload
8
+ case request.method
9
+ when :get then render
10
+ when :post then
11
+ uploaded_file = params[:uploaded_file]
12
+ render [uploaded_file[:filename], uploaded_file[:tempfile].class.name].inspect
13
+ end
14
+ end
15
+
16
+ def submit_form
17
+ end
18
+
19
+ def internal_redirect
20
+ redirect "/"
21
+ end
22
+
23
+ def external_redirect
24
+ redirect "http://google.com"
25
+ end
26
+
27
+ end