diabolo-webrat 0.4.4.2 → 0.5.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 (148) hide show
  1. data/.document +4 -0
  2. data/.gitignore +15 -0
  3. data/History.txt +60 -9
  4. data/Rakefile +90 -75
  5. data/VERSION +1 -0
  6. data/lib/webrat.rb +8 -23
  7. data/lib/webrat/{mechanize.rb → adapters/mechanize.rb} +6 -2
  8. data/lib/webrat/adapters/merb.rb +11 -0
  9. data/lib/webrat/adapters/rack.rb +25 -0
  10. data/lib/webrat/{rails.rb → adapters/rails.rb} +9 -18
  11. data/lib/webrat/adapters/sinatra.rb +9 -0
  12. data/lib/webrat/core.rb +0 -1
  13. data/lib/webrat/core/configuration.rb +7 -17
  14. data/lib/webrat/core/elements/area.rb +2 -2
  15. data/lib/webrat/core/elements/element.rb +3 -3
  16. data/lib/webrat/core/elements/field.rb +33 -30
  17. data/lib/webrat/core/elements/form.rb +4 -4
  18. data/lib/webrat/core/elements/label.rb +4 -4
  19. data/lib/webrat/core/elements/link.rb +7 -6
  20. data/lib/webrat/core/elements/select_option.rb +2 -2
  21. data/lib/webrat/core/locators.rb +1 -1
  22. data/lib/webrat/core/locators/area_locator.rb +3 -3
  23. data/lib/webrat/core/locators/button_locator.rb +6 -6
  24. data/lib/webrat/core/locators/field_by_id_locator.rb +3 -3
  25. data/lib/webrat/core/locators/field_labeled_locator.rb +2 -2
  26. data/lib/webrat/core/locators/field_named_locator.rb +3 -3
  27. data/lib/webrat/core/locators/form_locator.rb +1 -1
  28. data/lib/webrat/core/locators/label_locator.rb +2 -2
  29. data/lib/webrat/core/locators/link_locator.rb +20 -12
  30. data/lib/webrat/core/locators/select_option_locator.rb +5 -5
  31. data/lib/webrat/core/logging.rb +1 -1
  32. data/lib/webrat/core/matchers/have_content.rb +2 -7
  33. data/lib/webrat/core/matchers/have_xpath.rb +2 -27
  34. data/lib/webrat/core/methods.rb +4 -4
  35. data/lib/webrat/core/mime.rb +11 -22
  36. data/lib/webrat/core/save_and_open_page.rb +5 -7
  37. data/lib/webrat/core/scope.rb +2 -2
  38. data/lib/webrat/core/session.rb +30 -14
  39. data/lib/webrat/core/xml.rb +41 -84
  40. data/lib/webrat/integrations/merb.rb +10 -0
  41. data/lib/webrat/integrations/rails.rb +9 -0
  42. data/lib/webrat/integrations/rspec-rails.rb +10 -0
  43. data/lib/webrat/integrations/selenium.rb +11 -0
  44. data/lib/webrat/rspec-rails.rb +2 -13
  45. data/lib/webrat/selenium.rb +0 -11
  46. data/lib/webrat/selenium/application_server_factory.rb +40 -0
  47. data/lib/webrat/selenium/application_servers.rb +5 -0
  48. data/lib/webrat/selenium/application_servers/base.rb +46 -0
  49. data/lib/webrat/selenium/application_servers/external.rb +26 -0
  50. data/lib/webrat/selenium/application_servers/merb.rb +50 -0
  51. data/lib/webrat/selenium/application_servers/rails.rb +44 -0
  52. data/lib/webrat/selenium/application_servers/sinatra.rb +37 -0
  53. data/lib/webrat/selenium/location_strategy_javascript/label.js +2 -1
  54. data/lib/webrat/selenium/selenium_rc_server.rb +7 -5
  55. data/lib/webrat/selenium/selenium_session.rb +20 -7
  56. data/lib/webrat/selenium/silence_stream.rb +1 -1
  57. data/spec/fakes/{test_session.rb → test_adapter.rb} +6 -3
  58. data/spec/integration/mechanize/Rakefile +7 -0
  59. data/spec/integration/mechanize/config.ru +2 -0
  60. data/spec/integration/mechanize/sample_app.rb +20 -0
  61. data/spec/integration/mechanize/spec/mechanize_spec.rb +22 -0
  62. data/spec/integration/mechanize/spec/spec_helper.rb +27 -0
  63. data/spec/integration/merb/.gitignore +21 -0
  64. data/spec/integration/merb/Rakefile +35 -0
  65. data/spec/integration/merb/app/controllers/testing.rb +9 -0
  66. data/spec/integration/merb/app/views/exceptions/not_acceptable.html.erb +63 -0
  67. data/spec/integration/merb/app/views/exceptions/not_found.html.erb +47 -0
  68. data/spec/integration/merb/app/views/layout/application.html.erb +12 -0
  69. data/spec/integration/merb/app/views/testing/show_form.html.erb +27 -0
  70. data/spec/integration/merb/app/views/testing/upload.html.erb +9 -0
  71. data/spec/integration/merb/config/router.rb +1 -0
  72. data/spec/integration/merb/spec/spec.opts +1 -0
  73. data/spec/integration/merb/spec/spec_helper.rb +2 -0
  74. data/spec/integration/merb/spec/webrat_spec.rb +7 -0
  75. data/spec/integration/merb/tasks/merb.thor/main.thor +150 -0
  76. data/spec/integration/rack/Rakefile +5 -0
  77. data/spec/integration/rack/app.rb +89 -0
  78. data/spec/integration/rack/test/helper.rb +21 -0
  79. data/spec/integration/rack/test/webrat_rack_test.rb +57 -51
  80. data/spec/integration/rails/.gitignore +3 -0
  81. data/spec/integration/rails/Rakefile +30 -0
  82. data/spec/integration/rails/app/controllers/webrat_controller.rb +13 -9
  83. data/spec/integration/rails/app/views/buttons/show.html.erb +11 -0
  84. data/spec/integration/rails/app/views/fields/show.html.erb +9 -0
  85. data/spec/integration/rails/app/views/links/show.html.erb +5 -0
  86. data/spec/integration/rails/app/views/webrat/before_redirect_form.html.erb +4 -0
  87. data/spec/integration/rails/app/views/webrat/buttons.html.erb +11 -0
  88. data/spec/integration/rails/app/views/webrat/form.html.erb +28 -0
  89. data/spec/integration/rails/config/locales/en.yml +5 -0
  90. data/spec/integration/rails/config/routes.rb +1 -0
  91. data/spec/integration/rails/public/404.html +30 -0
  92. data/spec/integration/rails/public/422.html +30 -0
  93. data/spec/integration/rails/public/500.html +33 -0
  94. data/spec/integration/rails/script/about +4 -0
  95. data/spec/integration/rails/script/console +3 -0
  96. data/spec/integration/rails/script/dbconsole +3 -0
  97. data/spec/integration/rails/script/destroy +3 -0
  98. data/spec/integration/rails/script/generate +3 -0
  99. data/spec/integration/rails/script/performance/benchmarker +3 -0
  100. data/spec/integration/rails/script/performance/profiler +3 -0
  101. data/spec/integration/rails/script/performance/request +3 -0
  102. data/spec/integration/rails/script/plugin +3 -0
  103. data/spec/integration/rails/script/process/inspector +3 -0
  104. data/spec/integration/rails/script/process/reaper +3 -0
  105. data/spec/integration/rails/script/process/spawner +3 -0
  106. data/spec/integration/rails/script/runner +3 -0
  107. data/spec/integration/rails/script/server +3 -0
  108. data/spec/integration/rails/test/integration/button_click_test.rb +2 -2
  109. data/spec/integration/rails/test/integration/link_click_test.rb +7 -1
  110. data/spec/integration/rails/test/integration/webrat_test.rb +22 -0
  111. data/spec/integration/rails/test/test_helper.rb +6 -5
  112. data/spec/integration/sinatra/Rakefile +5 -0
  113. data/spec/integration/sinatra/test/test_helper.rb +3 -2
  114. data/spec/private/core/configuration_spec.rb +8 -27
  115. data/spec/private/core/field_spec.rb +7 -7
  116. data/spec/private/core/link_spec.rb +1 -1
  117. data/spec/private/core/session_spec.rb +23 -21
  118. data/spec/private/mechanize/{mechanize_session_spec.rb → mechanize_adapter_spec.rb} +4 -12
  119. data/spec/private/nokogiri_spec.rb +2 -2
  120. data/spec/private/rails/{rails_session_spec.rb → rails_adapter_spec.rb} +16 -16
  121. data/spec/private/selenium/application_servers/rails_spec.rb +26 -0
  122. data/spec/public/matchers/contain_spec.rb +4 -4
  123. data/spec/public/matchers/have_selector_spec.rb +2 -2
  124. data/spec/public/matchers/have_xpath_spec.rb +3 -3
  125. data/spec/public/save_and_open_spec.rb +25 -6
  126. data/spec/public/selenium/application_server_factory_spec.rb +49 -0
  127. data/spec/public/selenium/application_servers/external_spec.rb +12 -0
  128. data/spec/public/selenium/selenium_session_spec.rb +37 -0
  129. data/spec/rcov.opts +1 -0
  130. data/spec/spec.opts +2 -0
  131. data/spec/spec_helper.rb +5 -1
  132. data/vendor/selenium-server.jar +0 -0
  133. data/webrat.gemspec +348 -0
  134. metadata +176 -23
  135. data/lib/webrat/core/xml/hpricot.rb +0 -19
  136. data/lib/webrat/core/xml/nokogiri.rb +0 -76
  137. data/lib/webrat/core/xml/rexml.rb +0 -24
  138. data/lib/webrat/merb_session.rb +0 -65
  139. data/lib/webrat/rack.rb +0 -24
  140. data/lib/webrat/rack_test.rb +0 -32
  141. data/lib/webrat/selenium/application_server.rb +0 -73
  142. data/lib/webrat/selenium/merb_application_server.rb +0 -48
  143. data/lib/webrat/selenium/rails_application_server.rb +0 -42
  144. data/lib/webrat/selenium/sinatra_application_server.rb +0 -35
  145. data/lib/webrat/sinatra.rb +0 -44
  146. data/spec/integration/rack/rack_app.rb +0 -16
  147. data/spec/integration/rack/test/test_helper.rb +0 -20
  148. data/spec/private/merb/merb_session_spec.rb +0 -42
@@ -94,7 +94,7 @@ describe "have_xpath" do
94
94
  node.should have_xpath("//a[@href='http://example.org']")
95
95
  end
96
96
  end
97
-
97
+
98
98
  it "should allow descendant selectors in the block" do
99
99
  @body.should have_xpath("//div[@id='main']") do |node|
100
100
  node.should have_xpath("//ul//a")
@@ -117,7 +117,7 @@ describe "have_xpath" do
117
117
  it "should throw an exception when the body doesnt have matching xpath" do
118
118
  lambda {
119
119
  assert_have_xpath("//p")
120
- }.should raise_error(Test::Unit::AssertionFailedError)
120
+ }.should raise_error(AssertionFailedError)
121
121
  end
122
122
  end
123
123
 
@@ -129,7 +129,7 @@ describe "have_xpath" do
129
129
  it "should throw an exception when the body does contain the xpath" do
130
130
  lambda {
131
131
  assert_have_no_xpath("//div")
132
- }.should raise_error(Test::Unit::AssertionFailedError)
132
+ }.should raise_error(AssertionFailedError)
133
133
  end
134
134
  end
135
135
  end
@@ -10,13 +10,16 @@ describe "save_and_open_page" do
10
10
  <body>
11
11
  <h1>Hello world</h1>
12
12
  <img src="/images/bar.png" />
13
+ <img src='/images/foo.png' />
13
14
  </body>
14
15
  </html>
15
16
  HTML
16
17
 
17
18
  File.stub!(:exist? => true)
18
19
  Time.stub!(:now => 1234)
19
- webrat_session.stub!(:open_in_browser)
20
+
21
+ require "launchy"
22
+ Launchy::Browser.stub!(:run)
20
23
 
21
24
  @file_handle = mock("file handle")
22
25
  File.stub!(:open).with(filename, 'w').and_yield(@file_handle)
@@ -25,25 +28,41 @@ describe "save_and_open_page" do
25
28
 
26
29
  it "should rewrite css rules" do
27
30
  @file_handle.should_receive(:write) do |html|
28
- html.should =~ %r|#{webrat_session.doc_root}/stylesheets/foo.css|s
31
+ html.should =~ %r|"#{webrat_session.doc_root}/stylesheets/foo.css"|s
32
+ end
33
+
34
+ save_and_open_page
35
+ end
36
+
37
+ it "should rewrite image paths with double quotes" do
38
+ @file_handle.should_receive(:write) do |html|
39
+ html.should =~ %r|"#{webrat_session.doc_root}/images/bar.png"|s
29
40
  end
30
41
 
31
42
  save_and_open_page
32
43
  end
33
44
 
34
- it "should rewrite image paths" do
45
+ it "should rewrite image paths with single quotes" do
35
46
  @file_handle.should_receive(:write) do |html|
36
- html.should =~ %r|#{webrat_session.doc_root}/images/bar.png|s
47
+ html.should =~ %r|'#{webrat_session.doc_root}/images/foo.png'|s
37
48
  end
38
49
 
39
50
  save_and_open_page
40
51
  end
41
52
 
42
- it "should open the temp file in a browser" do
43
- webrat_session.should_receive(:open_in_browser).with(filename)
53
+ it "should open the temp file in a browser with Launchy" do
54
+ Launchy::Browser.should_receive(:run)
44
55
  save_and_open_page
45
56
  end
46
57
 
58
+ it "should fail gracefully if Launchy is not available" do
59
+ Launchy::Browser.should_receive(:run).and_raise(LoadError)
60
+
61
+ lambda do
62
+ save_and_open_page
63
+ end.should_not raise_error
64
+ end
65
+
47
66
  def filename
48
67
  File.expand_path("./webrat-#{Time.now}.html")
49
68
  end
@@ -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
data/spec/rcov.opts ADDED
@@ -0,0 +1 @@
1
+ -x gems,spec
data/spec/spec.opts ADDED
@@ -0,0 +1,2 @@
1
+ --diff
2
+ --color
data/spec/spec_helper.rb CHANGED
@@ -8,8 +8,10 @@ begin require "redgreen" unless ENV['TM_CURRENT_LINE']; rescue LoadError; end
8
8
  webrat_path = File.expand_path(File.dirname(__FILE__) + "/../lib/")
9
9
  $LOAD_PATH.unshift(webrat_path) unless $LOAD_PATH.include?(webrat_path)
10
10
 
11
+ AssertionFailedError = Test::Unit::AssertionFailedError rescue MiniTest::Assertion # ruby1.9 compat
12
+
11
13
  require "webrat"
12
- require File.expand_path(File.dirname(__FILE__) + "/fakes/test_session")
14
+ require File.expand_path(File.dirname(__FILE__) + "/fakes/test_adapter")
13
15
 
14
16
  module Webrat
15
17
  @@previous_config = nil
@@ -45,6 +47,8 @@ Spec::Runner.configure do |config|
45
47
  end
46
48
  end
47
49
 
50
+ require "merb-core"
51
+
48
52
  Webrat.configure do |config|
49
53
  config.mode = :merb
50
54
  end
Binary file
data/webrat.gemspec ADDED
@@ -0,0 +1,348 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{webrat}
8
+ s.version = "0.5.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Bryan Helmkamp"]
12
+ s.date = %q{2009-08-25}
13
+ s.description = %q{Webrat lets you quickly write expressive and robust acceptance tests for a Ruby web application. It supports simulating a browser inside a Ruby process to avoid the performance hit and browser dependency of Selenium or Watir, but the same API can also be used to drive real Selenium tests when necessary (eg. for testing AJAX interactions). Most Ruby web frameworks and testing frameworks are supported.}
14
+ s.email = %q{bryan@brynary.com}
15
+ s.extra_rdoc_files = [
16
+ "History.txt",
17
+ "MIT-LICENSE.txt",
18
+ "README.rdoc"
19
+ ]
20
+ s.files = [
21
+ ".document",
22
+ ".gitignore",
23
+ "History.txt",
24
+ "MIT-LICENSE.txt",
25
+ "README.rdoc",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "install.rb",
29
+ "lib/webrat.rb",
30
+ "lib/webrat/adapters/mechanize.rb",
31
+ "lib/webrat/adapters/merb.rb",
32
+ "lib/webrat/adapters/rack.rb",
33
+ "lib/webrat/adapters/rails.rb",
34
+ "lib/webrat/adapters/sinatra.rb",
35
+ "lib/webrat/core.rb",
36
+ "lib/webrat/core/configuration.rb",
37
+ "lib/webrat/core/elements/area.rb",
38
+ "lib/webrat/core/elements/element.rb",
39
+ "lib/webrat/core/elements/field.rb",
40
+ "lib/webrat/core/elements/form.rb",
41
+ "lib/webrat/core/elements/label.rb",
42
+ "lib/webrat/core/elements/link.rb",
43
+ "lib/webrat/core/elements/select_option.rb",
44
+ "lib/webrat/core/locators.rb",
45
+ "lib/webrat/core/locators/area_locator.rb",
46
+ "lib/webrat/core/locators/button_locator.rb",
47
+ "lib/webrat/core/locators/field_by_id_locator.rb",
48
+ "lib/webrat/core/locators/field_labeled_locator.rb",
49
+ "lib/webrat/core/locators/field_locator.rb",
50
+ "lib/webrat/core/locators/field_named_locator.rb",
51
+ "lib/webrat/core/locators/form_locator.rb",
52
+ "lib/webrat/core/locators/label_locator.rb",
53
+ "lib/webrat/core/locators/link_locator.rb",
54
+ "lib/webrat/core/locators/locator.rb",
55
+ "lib/webrat/core/locators/select_option_locator.rb",
56
+ "lib/webrat/core/logging.rb",
57
+ "lib/webrat/core/matchers.rb",
58
+ "lib/webrat/core/matchers/have_content.rb",
59
+ "lib/webrat/core/matchers/have_selector.rb",
60
+ "lib/webrat/core/matchers/have_tag.rb",
61
+ "lib/webrat/core/matchers/have_xpath.rb",
62
+ "lib/webrat/core/methods.rb",
63
+ "lib/webrat/core/mime.rb",
64
+ "lib/webrat/core/save_and_open_page.rb",
65
+ "lib/webrat/core/scope.rb",
66
+ "lib/webrat/core/session.rb",
67
+ "lib/webrat/core/xml.rb",
68
+ "lib/webrat/core_extensions/blank.rb",
69
+ "lib/webrat/core_extensions/deprecate.rb",
70
+ "lib/webrat/core_extensions/detect_mapped.rb",
71
+ "lib/webrat/core_extensions/meta_class.rb",
72
+ "lib/webrat/core_extensions/nil_to_param.rb",
73
+ "lib/webrat/core_extensions/tcp_socket.rb",
74
+ "lib/webrat/integrations/merb.rb",
75
+ "lib/webrat/integrations/rails.rb",
76
+ "lib/webrat/integrations/rspec-rails.rb",
77
+ "lib/webrat/integrations/selenium.rb",
78
+ "lib/webrat/merb.rb",
79
+ "lib/webrat/rspec-rails.rb",
80
+ "lib/webrat/selenium.rb",
81
+ "lib/webrat/selenium/application_server_factory.rb",
82
+ "lib/webrat/selenium/application_servers.rb",
83
+ "lib/webrat/selenium/application_servers/base.rb",
84
+ "lib/webrat/selenium/application_servers/external.rb",
85
+ "lib/webrat/selenium/application_servers/merb.rb",
86
+ "lib/webrat/selenium/application_servers/rails.rb",
87
+ "lib/webrat/selenium/application_servers/sinatra.rb",
88
+ "lib/webrat/selenium/location_strategy_javascript/button.js",
89
+ "lib/webrat/selenium/location_strategy_javascript/label.js",
90
+ "lib/webrat/selenium/location_strategy_javascript/webrat.js",
91
+ "lib/webrat/selenium/location_strategy_javascript/webratlink.js",
92
+ "lib/webrat/selenium/location_strategy_javascript/webratlinkwithin.js",
93
+ "lib/webrat/selenium/location_strategy_javascript/webratselectwithoption.js",
94
+ "lib/webrat/selenium/matchers.rb",
95
+ "lib/webrat/selenium/matchers/have_content.rb",
96
+ "lib/webrat/selenium/matchers/have_selector.rb",
97
+ "lib/webrat/selenium/matchers/have_tag.rb",
98
+ "lib/webrat/selenium/matchers/have_xpath.rb",
99
+ "lib/webrat/selenium/selenium_extensions.js",
100
+ "lib/webrat/selenium/selenium_rc_server.rb",
101
+ "lib/webrat/selenium/selenium_session.rb",
102
+ "lib/webrat/selenium/silence_stream.rb",
103
+ "spec/fakes/test_adapter.rb",
104
+ "spec/integration/mechanize/Rakefile",
105
+ "spec/integration/mechanize/config.ru",
106
+ "spec/integration/mechanize/sample_app.rb",
107
+ "spec/integration/mechanize/spec/mechanize_spec.rb",
108
+ "spec/integration/mechanize/spec/spec_helper.rb",
109
+ "spec/integration/merb/.gitignore",
110
+ "spec/integration/merb/Rakefile",
111
+ "spec/integration/merb/app/controllers/application.rb",
112
+ "spec/integration/merb/app/controllers/exceptions.rb",
113
+ "spec/integration/merb/app/controllers/testing.rb",
114
+ "spec/integration/merb/app/views/exceptions/not_acceptable.html.erb",
115
+ "spec/integration/merb/app/views/exceptions/not_found.html.erb",
116
+ "spec/integration/merb/app/views/layout/application.html.erb",
117
+ "spec/integration/merb/app/views/testing/show_form.html.erb",
118
+ "spec/integration/merb/app/views/testing/upload.html.erb",
119
+ "spec/integration/merb/config/environments/development.rb",
120
+ "spec/integration/merb/config/environments/rake.rb",
121
+ "spec/integration/merb/config/environments/test.rb",
122
+ "spec/integration/merb/config/init.rb",
123
+ "spec/integration/merb/config/rack.rb",
124
+ "spec/integration/merb/config/router.rb",
125
+ "spec/integration/merb/spec/spec.opts",
126
+ "spec/integration/merb/spec/spec_helper.rb",
127
+ "spec/integration/merb/spec/webrat_spec.rb",
128
+ "spec/integration/merb/tasks/merb.thor/app_script.rb",
129
+ "spec/integration/merb/tasks/merb.thor/common.rb",
130
+ "spec/integration/merb/tasks/merb.thor/gem_ext.rb",
131
+ "spec/integration/merb/tasks/merb.thor/main.thor",
132
+ "spec/integration/merb/tasks/merb.thor/ops.rb",
133
+ "spec/integration/merb/tasks/merb.thor/utils.rb",
134
+ "spec/integration/rack/Rakefile",
135
+ "spec/integration/rack/app.rb",
136
+ "spec/integration/rack/test/helper.rb",
137
+ "spec/integration/rack/test/webrat_rack_test.rb",
138
+ "spec/integration/rails/.gitignore",
139
+ "spec/integration/rails/Rakefile",
140
+ "spec/integration/rails/app/controllers/application.rb",
141
+ "spec/integration/rails/app/controllers/buttons_controller.rb",
142
+ "spec/integration/rails/app/controllers/fields_controller.rb",
143
+ "spec/integration/rails/app/controllers/links_controller.rb",
144
+ "spec/integration/rails/app/controllers/webrat_controller.rb",
145
+ "spec/integration/rails/app/helpers/buttons_helper.rb",
146
+ "spec/integration/rails/app/helpers/fields_helper.rb",
147
+ "spec/integration/rails/app/helpers/links_helper.rb",
148
+ "spec/integration/rails/app/views/buttons/show.html.erb",
149
+ "spec/integration/rails/app/views/fields/show.html.erb",
150
+ "spec/integration/rails/app/views/links/show.html.erb",
151
+ "spec/integration/rails/app/views/webrat/before_redirect_form.html.erb",
152
+ "spec/integration/rails/app/views/webrat/buttons.html.erb",
153
+ "spec/integration/rails/app/views/webrat/form.html.erb",
154
+ "spec/integration/rails/config/boot.rb",
155
+ "spec/integration/rails/config/environment.rb",
156
+ "spec/integration/rails/config/environments/development.rb",
157
+ "spec/integration/rails/config/environments/selenium.rb",
158
+ "spec/integration/rails/config/environments/test.rb",
159
+ "spec/integration/rails/config/initializers/inflections.rb",
160
+ "spec/integration/rails/config/initializers/mime_types.rb",
161
+ "spec/integration/rails/config/initializers/new_rails_defaults.rb",
162
+ "spec/integration/rails/config/locales/en.yml",
163
+ "spec/integration/rails/config/routes.rb",
164
+ "spec/integration/rails/public/404.html",
165
+ "spec/integration/rails/public/422.html",
166
+ "spec/integration/rails/public/500.html",
167
+ "spec/integration/rails/script/about",
168
+ "spec/integration/rails/script/console",
169
+ "spec/integration/rails/script/dbconsole",
170
+ "spec/integration/rails/script/destroy",
171
+ "spec/integration/rails/script/generate",
172
+ "spec/integration/rails/script/performance/benchmarker",
173
+ "spec/integration/rails/script/performance/profiler",
174
+ "spec/integration/rails/script/performance/request",
175
+ "spec/integration/rails/script/plugin",
176
+ "spec/integration/rails/script/process/inspector",
177
+ "spec/integration/rails/script/process/reaper",
178
+ "spec/integration/rails/script/process/spawner",
179
+ "spec/integration/rails/script/runner",
180
+ "spec/integration/rails/script/server",
181
+ "spec/integration/rails/test/integration/button_click_test.rb",
182
+ "spec/integration/rails/test/integration/fill_in_test.rb",
183
+ "spec/integration/rails/test/integration/link_click_test.rb",
184
+ "spec/integration/rails/test/integration/webrat_test.rb",
185
+ "spec/integration/rails/test/test_helper.rb",
186
+ "spec/integration/sinatra/Rakefile",
187
+ "spec/integration/sinatra/classic_app.rb",
188
+ "spec/integration/sinatra/modular_app.rb",
189
+ "spec/integration/sinatra/test/classic_app_test.rb",
190
+ "spec/integration/sinatra/test/modular_app_test.rb",
191
+ "spec/integration/sinatra/test/test_helper.rb",
192
+ "spec/private/core/configuration_spec.rb",
193
+ "spec/private/core/field_spec.rb",
194
+ "spec/private/core/link_spec.rb",
195
+ "spec/private/core/logging_spec.rb",
196
+ "spec/private/core/session_spec.rb",
197
+ "spec/private/mechanize/mechanize_adapter_spec.rb",
198
+ "spec/private/nokogiri_spec.rb",
199
+ "spec/private/rails/attaches_file_spec.rb",
200
+ "spec/private/rails/rails_adapter_spec.rb",
201
+ "spec/private/selenium/application_servers/rails_spec.rb",
202
+ "spec/public/basic_auth_spec.rb",
203
+ "spec/public/check_spec.rb",
204
+ "spec/public/choose_spec.rb",
205
+ "spec/public/click_area_spec.rb",
206
+ "spec/public/click_button_spec.rb",
207
+ "spec/public/click_link_spec.rb",
208
+ "spec/public/fill_in_spec.rb",
209
+ "spec/public/locators/field_by_xpath_spec.rb",
210
+ "spec/public/locators/field_labeled_spec.rb",
211
+ "spec/public/locators/field_with_id_spec.rb",
212
+ "spec/public/matchers/contain_spec.rb",
213
+ "spec/public/matchers/have_selector_spec.rb",
214
+ "spec/public/matchers/have_tag_spec.rb",
215
+ "spec/public/matchers/have_xpath_spec.rb",
216
+ "spec/public/reload_spec.rb",
217
+ "spec/public/save_and_open_spec.rb",
218
+ "spec/public/select_date_spec.rb",
219
+ "spec/public/select_datetime_spec.rb",
220
+ "spec/public/select_spec.rb",
221
+ "spec/public/select_time_spec.rb",
222
+ "spec/public/selenium/application_server_factory_spec.rb",
223
+ "spec/public/selenium/application_servers/external_spec.rb",
224
+ "spec/public/selenium/selenium_session_spec.rb",
225
+ "spec/public/set_hidden_field_spec.rb",
226
+ "spec/public/submit_form_spec.rb",
227
+ "spec/public/visit_spec.rb",
228
+ "spec/public/within_spec.rb",
229
+ "spec/rcov.opts",
230
+ "spec/spec.opts",
231
+ "spec/spec_helper.rb",
232
+ "vendor/selenium-server.jar",
233
+ "webrat.gemspec"
234
+ ]
235
+ s.has_rdoc = true
236
+ s.homepage = %q{http://github.com/brynary/webrat}
237
+ s.rdoc_options = ["--charset=UTF-8"]
238
+ s.require_paths = ["lib"]
239
+ s.rubyforge_project = %q{webrat}
240
+ s.rubygems_version = %q{1.3.1}
241
+ s.summary = %q{Ruby Acceptance Testing for Web applications}
242
+ s.test_files = [
243
+ "spec/fakes/test_adapter.rb",
244
+ "spec/integration/mechanize/sample_app.rb",
245
+ "spec/integration/mechanize/spec/mechanize_spec.rb",
246
+ "spec/integration/mechanize/spec/spec_helper.rb",
247
+ "spec/integration/merb/app/controllers/application.rb",
248
+ "spec/integration/merb/app/controllers/exceptions.rb",
249
+ "spec/integration/merb/app/controllers/testing.rb",
250
+ "spec/integration/merb/config/environments/development.rb",
251
+ "spec/integration/merb/config/environments/rake.rb",
252
+ "spec/integration/merb/config/environments/test.rb",
253
+ "spec/integration/merb/config/init.rb",
254
+ "spec/integration/merb/config/rack.rb",
255
+ "spec/integration/merb/config/router.rb",
256
+ "spec/integration/merb/spec/spec_helper.rb",
257
+ "spec/integration/merb/spec/webrat_spec.rb",
258
+ "spec/integration/merb/tasks/merb.thor/app_script.rb",
259
+ "spec/integration/merb/tasks/merb.thor/common.rb",
260
+ "spec/integration/merb/tasks/merb.thor/gem_ext.rb",
261
+ "spec/integration/merb/tasks/merb.thor/ops.rb",
262
+ "spec/integration/merb/tasks/merb.thor/utils.rb",
263
+ "spec/integration/rack/app.rb",
264
+ "spec/integration/rack/test/helper.rb",
265
+ "spec/integration/rack/test/webrat_rack_test.rb",
266
+ "spec/integration/rails/app/controllers/application.rb",
267
+ "spec/integration/rails/app/controllers/buttons_controller.rb",
268
+ "spec/integration/rails/app/controllers/fields_controller.rb",
269
+ "spec/integration/rails/app/controllers/links_controller.rb",
270
+ "spec/integration/rails/app/controllers/webrat_controller.rb",
271
+ "spec/integration/rails/app/helpers/buttons_helper.rb",
272
+ "spec/integration/rails/app/helpers/fields_helper.rb",
273
+ "spec/integration/rails/app/helpers/links_helper.rb",
274
+ "spec/integration/rails/config/boot.rb",
275
+ "spec/integration/rails/config/environment.rb",
276
+ "spec/integration/rails/config/environments/development.rb",
277
+ "spec/integration/rails/config/environments/selenium.rb",
278
+ "spec/integration/rails/config/environments/test.rb",
279
+ "spec/integration/rails/config/initializers/inflections.rb",
280
+ "spec/integration/rails/config/initializers/mime_types.rb",
281
+ "spec/integration/rails/config/initializers/new_rails_defaults.rb",
282
+ "spec/integration/rails/config/routes.rb",
283
+ "spec/integration/rails/test/integration/button_click_test.rb",
284
+ "spec/integration/rails/test/integration/fill_in_test.rb",
285
+ "spec/integration/rails/test/integration/link_click_test.rb",
286
+ "spec/integration/rails/test/integration/webrat_test.rb",
287
+ "spec/integration/rails/test/test_helper.rb",
288
+ "spec/integration/sinatra/classic_app.rb",
289
+ "spec/integration/sinatra/modular_app.rb",
290
+ "spec/integration/sinatra/test/classic_app_test.rb",
291
+ "spec/integration/sinatra/test/modular_app_test.rb",
292
+ "spec/integration/sinatra/test/test_helper.rb",
293
+ "spec/private/core/configuration_spec.rb",
294
+ "spec/private/core/field_spec.rb",
295
+ "spec/private/core/link_spec.rb",
296
+ "spec/private/core/logging_spec.rb",
297
+ "spec/private/core/session_spec.rb",
298
+ "spec/private/mechanize/mechanize_adapter_spec.rb",
299
+ "spec/private/nokogiri_spec.rb",
300
+ "spec/private/rails/attaches_file_spec.rb",
301
+ "spec/private/rails/rails_adapter_spec.rb",
302
+ "spec/private/selenium/application_servers/rails_spec.rb",
303
+ "spec/public/basic_auth_spec.rb",
304
+ "spec/public/check_spec.rb",
305
+ "spec/public/choose_spec.rb",
306
+ "spec/public/click_area_spec.rb",
307
+ "spec/public/click_button_spec.rb",
308
+ "spec/public/click_link_spec.rb",
309
+ "spec/public/fill_in_spec.rb",
310
+ "spec/public/locators/field_by_xpath_spec.rb",
311
+ "spec/public/locators/field_labeled_spec.rb",
312
+ "spec/public/locators/field_with_id_spec.rb",
313
+ "spec/public/matchers/contain_spec.rb",
314
+ "spec/public/matchers/have_selector_spec.rb",
315
+ "spec/public/matchers/have_tag_spec.rb",
316
+ "spec/public/matchers/have_xpath_spec.rb",
317
+ "spec/public/reload_spec.rb",
318
+ "spec/public/save_and_open_spec.rb",
319
+ "spec/public/select_date_spec.rb",
320
+ "spec/public/select_datetime_spec.rb",
321
+ "spec/public/select_spec.rb",
322
+ "spec/public/select_time_spec.rb",
323
+ "spec/public/selenium/application_server_factory_spec.rb",
324
+ "spec/public/selenium/application_servers/external_spec.rb",
325
+ "spec/public/selenium/selenium_session_spec.rb",
326
+ "spec/public/set_hidden_field_spec.rb",
327
+ "spec/public/submit_form_spec.rb",
328
+ "spec/public/visit_spec.rb",
329
+ "spec/public/within_spec.rb",
330
+ "spec/spec_helper.rb"
331
+ ]
332
+
333
+ if s.respond_to? :specification_version then
334
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
335
+ s.specification_version = 2
336
+
337
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
338
+ s.add_runtime_dependency(%q<nokogiri>, [">= 1.2.0"])
339
+ s.add_runtime_dependency(%q<rack>, [">= 1.0"])
340
+ else
341
+ s.add_dependency(%q<nokogiri>, [">= 1.2.0"])
342
+ s.add_dependency(%q<rack>, [">= 1.0"])
343
+ end
344
+ else
345
+ s.add_dependency(%q<nokogiri>, [">= 1.2.0"])
346
+ s.add_dependency(%q<rack>, [">= 1.0"])
347
+ end
348
+ end