rcarvalho-capybara 0.4.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 (100) hide show
  1. data/History.txt +202 -0
  2. data/README.rdoc +540 -0
  3. data/lib/capybara.rb +231 -0
  4. data/lib/capybara/cucumber.rb +32 -0
  5. data/lib/capybara/driver/base.rb +60 -0
  6. data/lib/capybara/driver/celerity_driver.rb +164 -0
  7. data/lib/capybara/driver/culerity_driver.rb +26 -0
  8. data/lib/capybara/driver/node.rb +78 -0
  9. data/lib/capybara/driver/rack_test_driver.rb +303 -0
  10. data/lib/capybara/driver/selenium_driver.rb +165 -0
  11. data/lib/capybara/dsl.rb +109 -0
  12. data/lib/capybara/node/actions.rb +160 -0
  13. data/lib/capybara/node/base.rb +47 -0
  14. data/lib/capybara/node/document.rb +17 -0
  15. data/lib/capybara/node/element.rb +182 -0
  16. data/lib/capybara/node/finders.rb +201 -0
  17. data/lib/capybara/node/matchers.rb +391 -0
  18. data/lib/capybara/node/simple.rb +116 -0
  19. data/lib/capybara/rails.rb +17 -0
  20. data/lib/capybara/rspec.rb +18 -0
  21. data/lib/capybara/selector.rb +70 -0
  22. data/lib/capybara/server.rb +90 -0
  23. data/lib/capybara/session.rb +281 -0
  24. data/lib/capybara/spec/driver.rb +243 -0
  25. data/lib/capybara/spec/fixtures/capybara.jpg +0 -0
  26. data/lib/capybara/spec/fixtures/test_file.txt +1 -0
  27. data/lib/capybara/spec/public/jquery-ui.js +35 -0
  28. data/lib/capybara/spec/public/jquery.js +19 -0
  29. data/lib/capybara/spec/public/test.js +33 -0
  30. data/lib/capybara/spec/session.rb +110 -0
  31. data/lib/capybara/spec/session/all_spec.rb +78 -0
  32. data/lib/capybara/spec/session/attach_file_spec.rb +70 -0
  33. data/lib/capybara/spec/session/check_spec.rb +65 -0
  34. data/lib/capybara/spec/session/choose_spec.rb +26 -0
  35. data/lib/capybara/spec/session/click_button_spec.rb +252 -0
  36. data/lib/capybara/spec/session/click_link_or_button_spec.rb +36 -0
  37. data/lib/capybara/spec/session/click_link_spec.rb +113 -0
  38. data/lib/capybara/spec/session/current_url_spec.rb +15 -0
  39. data/lib/capybara/spec/session/fill_in_spec.rb +119 -0
  40. data/lib/capybara/spec/session/find_button_spec.rb +18 -0
  41. data/lib/capybara/spec/session/find_by_id_spec.rb +18 -0
  42. data/lib/capybara/spec/session/find_field_spec.rb +26 -0
  43. data/lib/capybara/spec/session/find_link_spec.rb +19 -0
  44. data/lib/capybara/spec/session/find_spec.rb +121 -0
  45. data/lib/capybara/spec/session/first_spec.rb +72 -0
  46. data/lib/capybara/spec/session/has_button_spec.rb +32 -0
  47. data/lib/capybara/spec/session/has_content_spec.rb +106 -0
  48. data/lib/capybara/spec/session/has_css_spec.rb +213 -0
  49. data/lib/capybara/spec/session/has_field_spec.rb +156 -0
  50. data/lib/capybara/spec/session/has_link_spec.rb +37 -0
  51. data/lib/capybara/spec/session/has_select_spec.rb +129 -0
  52. data/lib/capybara/spec/session/has_selector_spec.rb +129 -0
  53. data/lib/capybara/spec/session/has_table_spec.rb +96 -0
  54. data/lib/capybara/spec/session/has_xpath_spec.rb +123 -0
  55. data/lib/capybara/spec/session/headers.rb +19 -0
  56. data/lib/capybara/spec/session/javascript.rb +223 -0
  57. data/lib/capybara/spec/session/response_code.rb +19 -0
  58. data/lib/capybara/spec/session/select_spec.rb +105 -0
  59. data/lib/capybara/spec/session/uncheck_spec.rb +21 -0
  60. data/lib/capybara/spec/session/unselect_spec.rb +61 -0
  61. data/lib/capybara/spec/session/within_spec.rb +160 -0
  62. data/lib/capybara/spec/test_app.rb +117 -0
  63. data/lib/capybara/spec/views/buttons.erb +4 -0
  64. data/lib/capybara/spec/views/fieldsets.erb +29 -0
  65. data/lib/capybara/spec/views/form.erb +348 -0
  66. data/lib/capybara/spec/views/frame_one.erb +8 -0
  67. data/lib/capybara/spec/views/frame_two.erb +8 -0
  68. data/lib/capybara/spec/views/popup_one.erb +8 -0
  69. data/lib/capybara/spec/views/popup_two.erb +8 -0
  70. data/lib/capybara/spec/views/postback.erb +13 -0
  71. data/lib/capybara/spec/views/tables.erb +122 -0
  72. data/lib/capybara/spec/views/with_html.erb +69 -0
  73. data/lib/capybara/spec/views/with_js.erb +39 -0
  74. data/lib/capybara/spec/views/with_scope.erb +36 -0
  75. data/lib/capybara/spec/views/with_simple_html.erb +1 -0
  76. data/lib/capybara/spec/views/within_frames.erb +10 -0
  77. data/lib/capybara/spec/views/within_popups.erb +25 -0
  78. data/lib/capybara/util/save_and_open_page.rb +40 -0
  79. data/lib/capybara/util/timeout.rb +27 -0
  80. data/lib/capybara/version.rb +3 -0
  81. data/spec/basic_node_spec.rb +77 -0
  82. data/spec/capybara_spec.rb +46 -0
  83. data/spec/driver/celerity_driver_spec.rb +13 -0
  84. data/spec/driver/culerity_driver_spec.rb +14 -0
  85. data/spec/driver/rack_test_driver_spec.rb +84 -0
  86. data/spec/driver/remote_culerity_driver_spec.rb +22 -0
  87. data/spec/driver/remote_selenium_driver_spec.rb +16 -0
  88. data/spec/driver/selenium_driver_spec.rb +14 -0
  89. data/spec/dsl_spec.rb +157 -0
  90. data/spec/rspec_spec.rb +47 -0
  91. data/spec/save_and_open_page_spec.rb +159 -0
  92. data/spec/server_spec.rb +85 -0
  93. data/spec/session/celerity_session_spec.rb +24 -0
  94. data/spec/session/culerity_session_spec.rb +26 -0
  95. data/spec/session/rack_test_session_spec.rb +44 -0
  96. data/spec/session/selenium_session_spec.rb +26 -0
  97. data/spec/spec_helper.rb +40 -0
  98. data/spec/string_spec.rb +77 -0
  99. data/spec/timeout_spec.rb +28 -0
  100. metadata +343 -0
@@ -0,0 +1,85 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Server do
4
+
5
+ it "should spool up a rack server" do
6
+ @app = proc { |env| [200, {}, "Hello Server!"]}
7
+ @server = Capybara::Server.new(@app).boot
8
+
9
+ @res = Net::HTTP.start(@server.host, @server.port) { |http| http.get('/') }
10
+
11
+ @res.body.should include('Hello Server')
12
+ end
13
+
14
+ it "should do nothing when no server given" do
15
+ running do
16
+ @server = Capybara::Server.new(nil).boot
17
+ end.should_not raise_error
18
+ end
19
+
20
+ it "should use specified port" do
21
+ Capybara.server_port = 22789
22
+
23
+ @app = proc { |env| [200, {}, "Hello Server!"]}
24
+ @server = Capybara::Server.new(@app).boot
25
+
26
+ @res = Net::HTTP.start(@server.host, 22789) { |http| http.get('/') }
27
+ @res.body.should include('Hello Server')
28
+
29
+ Capybara.server_port = nil
30
+ end
31
+
32
+ it "should find an available port" do
33
+ @app1 = proc { |env| [200, {}, "Hello Server!"]}
34
+ @app2 = proc { |env| [200, {}, "Hello Second Server!"]}
35
+
36
+ @server1 = Capybara::Server.new(@app1).boot
37
+ @server2 = Capybara::Server.new(@app2).boot
38
+
39
+ @res1 = Net::HTTP.start(@server1.host, @server1.port) { |http| http.get('/') }
40
+ @res1.body.should include('Hello Server')
41
+
42
+ @res2 = Net::HTTP.start(@server2.host, @server2.port) { |http| http.get('/') }
43
+ @res2.body.should include('Hello Second Server')
44
+ end
45
+
46
+ it "should use the server if it already running" do
47
+ @app1 = proc { |env| [200, {}, "Hello Server!"]}
48
+ @app2 = proc { |env| [200, {}, "Hello Second Server!"]}
49
+
50
+ @server1a = Capybara::Server.new(@app1).boot
51
+ @server1b = Capybara::Server.new(@app1).boot
52
+ @server2a = Capybara::Server.new(@app2).boot
53
+ @server2b = Capybara::Server.new(@app2).boot
54
+
55
+ @res1 = Net::HTTP.start(@server1b.host, @server1b.port) { |http| http.get('/') }
56
+ @res1.body.should include('Hello Server')
57
+
58
+ @res2 = Net::HTTP.start(@server2b.host, @server2b.port) { |http| http.get('/') }
59
+ @res2.body.should include('Hello Second Server')
60
+
61
+ @server1a.port.should == @server1b.port
62
+ @server2a.port.should == @server2b.port
63
+ end
64
+
65
+ it "should wait specified time for the app to boot" do
66
+ @slow_app = proc { |env| sleep(1); [200, {}, "Hello Slow Server!"] }
67
+
68
+ Capybara.server_boot_timeout = 1.5
69
+ @server = Capybara::Server.new(@slow_app).boot
70
+
71
+ @res = Net::HTTP.start(@server.host, @server.port) { |http| http.get('/') }
72
+ @res.body.should include('Hello Slow Server')
73
+ end
74
+
75
+ it "should raise an exception if boot timeout is exceeded" do
76
+ @slow_app = proc { |env| sleep(1); [200, {}, "Hello Slow Server!"] }
77
+
78
+ Capybara.server_boot_timeout = 0.5
79
+ server = Capybara::Server.new(@slow_app)
80
+ server.stub(:exit).and_return(:timeout)
81
+ server.stub(:puts)
82
+ server.boot.should == :timeout
83
+ end
84
+
85
+ end
@@ -0,0 +1,24 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Driver::Celerity, :jruby => :platform do
4
+ before(:all) do
5
+ @session = TestSessions::Celerity
6
+ end
7
+
8
+ describe '#driver' do
9
+ it "should be a celerity driver" do
10
+ @session.driver.should be_an_instance_of(Capybara::Driver::Celerity)
11
+ end
12
+ end
13
+
14
+ describe '#mode' do
15
+ it "should remember the mode" do
16
+ @session.mode.should == :celerity
17
+ end
18
+ end
19
+
20
+ it_should_behave_like "session"
21
+ it_should_behave_like "session with javascript support"
22
+ it_should_behave_like "session with headers support"
23
+ it_should_behave_like "session with status code support"
24
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Session, :jruby => :installed do
4
+ context 'with culerity driver' do
5
+ before(:all) do
6
+ @session = TestSessions::Culerity
7
+ end
8
+
9
+ describe '#driver' do
10
+ it "should be a culerity driver" do
11
+ @session.driver.should be_an_instance_of(Capybara::Driver::Culerity)
12
+ end
13
+ end
14
+
15
+ describe '#mode' do
16
+ it "should remember the mode" do
17
+ @session.mode.should == :culerity
18
+ end
19
+ end
20
+
21
+ it_should_behave_like "session"
22
+ it_should_behave_like "session with javascript support"
23
+ it_should_behave_like "session with headers support"
24
+ it_should_behave_like "session with status code support"
25
+ end
26
+ end
@@ -0,0 +1,44 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Session do
4
+ context 'with rack test driver' do
5
+ before do
6
+ @session = TestSessions::RackTest
7
+ end
8
+
9
+ describe '#driver' do
10
+ it "should be a rack test driver" do
11
+ @session.driver.should be_an_instance_of(Capybara::Driver::RackTest)
12
+ end
13
+ end
14
+
15
+ describe '#mode' do
16
+ it "should remember the mode" do
17
+ @session.mode.should == :rack_test
18
+ end
19
+ end
20
+
21
+ describe '#click_link' do
22
+ it "should use data-method if available" do
23
+ @session.visit "/with_html"
24
+ @session.click_link "A link with data-method"
25
+ @session.body.should == 'The requested object was deleted'
26
+ end
27
+ end
28
+
29
+ describe "#attach_file" do
30
+ context "with multipart form" do
31
+ it "should submit an empty form-data section if no file is submitted" do
32
+ @session.visit("/form")
33
+ @session.click_button("Upload Empty")
34
+ @session.body.should include('Successfully ignored empty file field.')
35
+ end
36
+ end
37
+ end
38
+
39
+ it_should_behave_like "session"
40
+ it_should_behave_like "session without javascript support"
41
+ it_should_behave_like "session with headers support"
42
+ it_should_behave_like "session with status code support"
43
+ end
44
+ end
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara::Session do
4
+ context 'with selenium driver' do
5
+ before do
6
+ @session = TestSessions::Selenium
7
+ end
8
+
9
+ describe '#driver' do
10
+ it "should be a selenium driver" do
11
+ @session.driver.should be_an_instance_of(Capybara::Driver::Selenium)
12
+ end
13
+ end
14
+
15
+ describe '#mode' do
16
+ it "should remember the mode" do
17
+ @session.mode.should == :selenium
18
+ end
19
+ end
20
+
21
+ it_should_behave_like "session"
22
+ it_should_behave_like "session with javascript support"
23
+ it_should_behave_like "session without headers support"
24
+ it_should_behave_like "session without status code support"
25
+ end
26
+ end
@@ -0,0 +1,40 @@
1
+ $:.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
2
+
3
+ require 'rubygems'
4
+ require "bundler/setup"
5
+
6
+ require 'rspec'
7
+ require 'capybara'
8
+ require 'capybara/spec/driver'
9
+ require 'capybara/spec/session'
10
+
11
+ alias :running :lambda
12
+
13
+ Capybara.default_wait_time = 0 # less timeout so tests run faster
14
+
15
+ module TestSessions
16
+ RackTest = Capybara::Session.new(:rack_test, TestApp)
17
+ Selenium = Capybara::Session.new(:selenium, TestApp)
18
+ Culerity = Capybara::Session.new(:culerity, TestApp)
19
+ Celerity = Capybara::Session.new(:celerity, TestApp)
20
+ end
21
+
22
+ RSpec.configure do |config|
23
+
24
+ running_with_jruby = RUBY_PLATFORM =~ /java/
25
+ jruby_installed = `which jruby` && $?.success?
26
+
27
+ warn "** Skipping Celerity specs because platform is not Java" unless running_with_jruby
28
+ warn "** Skipping Culerity specs because JRuby is not installed" unless jruby_installed
29
+
30
+ config.filter_run_excluding(:jruby => lambda { |value|
31
+ return true if value == :platform && !running_with_jruby
32
+ return true if value == :installed && !jruby_installed
33
+ })
34
+
35
+ config.before do
36
+ Capybara.configure do |config|
37
+ config.default_selector = :xpath
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,77 @@
1
+ require 'spec_helper'
2
+
3
+ describe Capybara do
4
+ describe '.string' do
5
+ let :string do
6
+ Capybara.string <<-STRING
7
+ <div id="page">
8
+ <div id="content">
9
+ <h1 data="fantastic">Awesome</h1>
10
+ <p>Yes it is</p>
11
+ </div>
12
+
13
+ <div id="footer" style="display: none">
14
+ <p>c2010</p>
15
+ <p>Jonas Nicklas</p>
16
+ <input type="text" name="foo" value="bar"/>
17
+ <select name="animal">
18
+ <option>Monkey</option>
19
+ <option selected="selected">Capybara</option>
20
+ </select>
21
+ </div>
22
+ </div>
23
+ STRING
24
+ end
25
+
26
+ it "allows using matchers" do
27
+ string.should have_css('#page')
28
+ string.should_not have_css('#does-not-exist')
29
+ end
30
+
31
+ it "allows using custom matchers" do
32
+ Capybara.add_selector :lifeform do
33
+ xpath { |name| "//option[contains(.,'#{name}')]" }
34
+ end
35
+ string.should have_selector(:page)
36
+ string.should_not have_selector(:'does-not-exist')
37
+ string.should have_selector(:lifeform, "Monkey")
38
+ string.should_not have_selector(:lifeform, "Gorilla")
39
+ end
40
+
41
+ it "allows using matchers with text option" do
42
+ string.should have_css('h1', :text => 'Awesome')
43
+ string.should_not have_css('h1', :text => 'Not so awesome')
44
+ end
45
+
46
+ it "allows finding only visible nodes" do
47
+ string.all('//p', :text => 'c2010', :visible => true).should be_empty
48
+ string.all('//p', :text => 'c2010', :visible => false).should have(1).element
49
+ end
50
+
51
+ it "allows finding elements and extracting text from them" do
52
+ string.find('//h1').text.should == 'Awesome'
53
+ end
54
+
55
+ it "allows finding elements and extracting attributes from them" do
56
+ string.find('//h1')[:data].should == 'fantastic'
57
+ end
58
+
59
+ it "allows finding elements and extracting the tag name from them" do
60
+ string.find('//h1').tag_name.should == 'h1'
61
+ end
62
+
63
+ it "allows finding elements and extracting the path" do
64
+ string.find('//h1').path.should == '/html/body/div/div[1]/h1'
65
+ end
66
+
67
+ it "allows finding elements and extracting the path" do
68
+ string.find('//input').value.should == 'bar'
69
+ string.find('//select').value.should == 'Capybara'
70
+ end
71
+
72
+ it "allows finding elements and checking if they are visible" do
73
+ string.find('//h1').should be_visible
74
+ string.find('//input').should_not be_visible
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ require 'capybara'
4
+ require 'capybara/util/timeout'
5
+
6
+ module Capybara
7
+
8
+ describe '.timeout' do
9
+
10
+ it "should return result of yield if it returns true value within timeout" do
11
+ Capybara.timeout { "hello" }.should == "hello"
12
+ end
13
+
14
+ it "should keep trying within timeout" do
15
+ count = 0
16
+ Capybara.timeout { count += 1; count == 5 ? count : nil }.should == 5
17
+ end
18
+
19
+ it "should raise Capybara::TimeoutError if block fails to return true within timeout" do
20
+ running do
21
+ Capybara.timeout(0.1) { false }
22
+ end.should raise_error(::Capybara::TimeoutError)
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+
metadata ADDED
@@ -0,0 +1,343 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rcarvalho-capybara
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 4
8
+ - 1
9
+ - 1
10
+ version: 0.4.1.1
11
+ platform: ruby
12
+ authors:
13
+ - Jonas Nicklas
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-26 00:00:00 -08:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: nokogiri
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - ">="
27
+ - !ruby/object:Gem::Version
28
+ segments:
29
+ - 1
30
+ - 3
31
+ - 3
32
+ version: 1.3.3
33
+ type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: mime-types
37
+ prerelease: false
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 1
44
+ - 16
45
+ version: "1.16"
46
+ type: :runtime
47
+ version_requirements: *id002
48
+ - !ruby/object:Gem::Dependency
49
+ name: culerity
50
+ prerelease: false
51
+ requirement: &id003 !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ - 2
58
+ - 4
59
+ version: 0.2.4
60
+ type: :runtime
61
+ version_requirements: *id003
62
+ - !ruby/object:Gem::Dependency
63
+ name: celerity
64
+ prerelease: false
65
+ requirement: &id004 !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ segments:
70
+ - 0
71
+ - 7
72
+ - 9
73
+ version: 0.7.9
74
+ type: :runtime
75
+ version_requirements: *id004
76
+ - !ruby/object:Gem::Dependency
77
+ name: selenium-webdriver
78
+ prerelease: false
79
+ requirement: &id005 !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ segments:
84
+ - 0
85
+ - 0
86
+ - 27
87
+ version: 0.0.27
88
+ type: :runtime
89
+ version_requirements: *id005
90
+ - !ruby/object:Gem::Dependency
91
+ name: rack
92
+ prerelease: false
93
+ requirement: &id006 !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ segments:
98
+ - 1
99
+ - 0
100
+ - 0
101
+ version: 1.0.0
102
+ type: :runtime
103
+ version_requirements: *id006
104
+ - !ruby/object:Gem::Dependency
105
+ name: rack-test
106
+ prerelease: false
107
+ requirement: &id007 !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ segments:
112
+ - 0
113
+ - 5
114
+ - 4
115
+ version: 0.5.4
116
+ type: :runtime
117
+ version_requirements: *id007
118
+ - !ruby/object:Gem::Dependency
119
+ name: xpath
120
+ prerelease: false
121
+ requirement: &id008 !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ~>
124
+ - !ruby/object:Gem::Version
125
+ segments:
126
+ - 0
127
+ - 1
128
+ - 3
129
+ version: 0.1.3
130
+ type: :runtime
131
+ version_requirements: *id008
132
+ - !ruby/object:Gem::Dependency
133
+ name: sinatra
134
+ prerelease: false
135
+ requirement: &id009 !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ segments:
140
+ - 0
141
+ - 9
142
+ - 4
143
+ version: 0.9.4
144
+ type: :development
145
+ version_requirements: *id009
146
+ - !ruby/object:Gem::Dependency
147
+ name: rspec
148
+ prerelease: false
149
+ requirement: &id010 !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ segments:
154
+ - 2
155
+ - 0
156
+ - 0
157
+ version: 2.0.0
158
+ type: :development
159
+ version_requirements: *id010
160
+ - !ruby/object:Gem::Dependency
161
+ name: launchy
162
+ prerelease: false
163
+ requirement: &id011 !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ segments:
168
+ - 0
169
+ - 3
170
+ - 5
171
+ version: 0.3.5
172
+ type: :development
173
+ version_requirements: *id011
174
+ - !ruby/object:Gem::Dependency
175
+ name: yard
176
+ prerelease: false
177
+ requirement: &id012 !ruby/object:Gem::Requirement
178
+ requirements:
179
+ - - ">="
180
+ - !ruby/object:Gem::Version
181
+ segments:
182
+ - 0
183
+ - 5
184
+ - 8
185
+ version: 0.5.8
186
+ type: :development
187
+ version_requirements: *id012
188
+ - !ruby/object:Gem::Dependency
189
+ name: fuubar
190
+ prerelease: false
191
+ requirement: &id013 !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ segments:
196
+ - 0
197
+ - 0
198
+ - 1
199
+ version: 0.0.1
200
+ type: :development
201
+ version_requirements: *id013
202
+ description: Capybara is an integration testing tool for rack based web applications. It simulates how a user would interact with a website
203
+ email:
204
+ - jonas.nicklas@gmail.com
205
+ executables: []
206
+
207
+ extensions: []
208
+
209
+ extra_rdoc_files:
210
+ - README.rdoc
211
+ files:
212
+ - lib/capybara/cucumber.rb
213
+ - lib/capybara/driver/base.rb
214
+ - lib/capybara/driver/celerity_driver.rb
215
+ - lib/capybara/driver/culerity_driver.rb
216
+ - lib/capybara/driver/node.rb
217
+ - lib/capybara/driver/rack_test_driver.rb
218
+ - lib/capybara/driver/selenium_driver.rb
219
+ - lib/capybara/dsl.rb
220
+ - lib/capybara/node/actions.rb
221
+ - lib/capybara/node/base.rb
222
+ - lib/capybara/node/document.rb
223
+ - lib/capybara/node/element.rb
224
+ - lib/capybara/node/finders.rb
225
+ - lib/capybara/node/matchers.rb
226
+ - lib/capybara/node/simple.rb
227
+ - lib/capybara/rails.rb
228
+ - lib/capybara/rspec.rb
229
+ - lib/capybara/selector.rb
230
+ - lib/capybara/server.rb
231
+ - lib/capybara/session.rb
232
+ - lib/capybara/spec/driver.rb
233
+ - lib/capybara/spec/fixtures/capybara.jpg
234
+ - lib/capybara/spec/fixtures/test_file.txt
235
+ - lib/capybara/spec/public/jquery-ui.js
236
+ - lib/capybara/spec/public/jquery.js
237
+ - lib/capybara/spec/public/test.js
238
+ - lib/capybara/spec/session/all_spec.rb
239
+ - lib/capybara/spec/session/attach_file_spec.rb
240
+ - lib/capybara/spec/session/check_spec.rb
241
+ - lib/capybara/spec/session/choose_spec.rb
242
+ - lib/capybara/spec/session/click_button_spec.rb
243
+ - lib/capybara/spec/session/click_link_or_button_spec.rb
244
+ - lib/capybara/spec/session/click_link_spec.rb
245
+ - lib/capybara/spec/session/current_url_spec.rb
246
+ - lib/capybara/spec/session/fill_in_spec.rb
247
+ - lib/capybara/spec/session/find_button_spec.rb
248
+ - lib/capybara/spec/session/find_by_id_spec.rb
249
+ - lib/capybara/spec/session/find_field_spec.rb
250
+ - lib/capybara/spec/session/find_link_spec.rb
251
+ - lib/capybara/spec/session/find_spec.rb
252
+ - lib/capybara/spec/session/first_spec.rb
253
+ - lib/capybara/spec/session/has_button_spec.rb
254
+ - lib/capybara/spec/session/has_content_spec.rb
255
+ - lib/capybara/spec/session/has_css_spec.rb
256
+ - lib/capybara/spec/session/has_field_spec.rb
257
+ - lib/capybara/spec/session/has_link_spec.rb
258
+ - lib/capybara/spec/session/has_select_spec.rb
259
+ - lib/capybara/spec/session/has_selector_spec.rb
260
+ - lib/capybara/spec/session/has_table_spec.rb
261
+ - lib/capybara/spec/session/has_xpath_spec.rb
262
+ - lib/capybara/spec/session/headers.rb
263
+ - lib/capybara/spec/session/javascript.rb
264
+ - lib/capybara/spec/session/response_code.rb
265
+ - lib/capybara/spec/session/select_spec.rb
266
+ - lib/capybara/spec/session/uncheck_spec.rb
267
+ - lib/capybara/spec/session/unselect_spec.rb
268
+ - lib/capybara/spec/session/within_spec.rb
269
+ - lib/capybara/spec/session.rb
270
+ - lib/capybara/spec/test_app.rb
271
+ - lib/capybara/spec/views/buttons.erb
272
+ - lib/capybara/spec/views/fieldsets.erb
273
+ - lib/capybara/spec/views/form.erb
274
+ - lib/capybara/spec/views/frame_one.erb
275
+ - lib/capybara/spec/views/frame_two.erb
276
+ - lib/capybara/spec/views/popup_one.erb
277
+ - lib/capybara/spec/views/popup_two.erb
278
+ - lib/capybara/spec/views/postback.erb
279
+ - lib/capybara/spec/views/tables.erb
280
+ - lib/capybara/spec/views/with_html.erb
281
+ - lib/capybara/spec/views/with_js.erb
282
+ - lib/capybara/spec/views/with_scope.erb
283
+ - lib/capybara/spec/views/with_simple_html.erb
284
+ - lib/capybara/spec/views/within_frames.erb
285
+ - lib/capybara/spec/views/within_popups.erb
286
+ - lib/capybara/util/save_and_open_page.rb
287
+ - lib/capybara/util/timeout.rb
288
+ - lib/capybara/version.rb
289
+ - lib/capybara.rb
290
+ - spec/basic_node_spec.rb
291
+ - spec/capybara_spec.rb
292
+ - spec/driver/celerity_driver_spec.rb
293
+ - spec/driver/culerity_driver_spec.rb
294
+ - spec/driver/rack_test_driver_spec.rb
295
+ - spec/driver/remote_culerity_driver_spec.rb
296
+ - spec/driver/remote_selenium_driver_spec.rb
297
+ - spec/driver/selenium_driver_spec.rb
298
+ - spec/dsl_spec.rb
299
+ - spec/rspec_spec.rb
300
+ - spec/save_and_open_page_spec.rb
301
+ - spec/server_spec.rb
302
+ - spec/session/celerity_session_spec.rb
303
+ - spec/session/culerity_session_spec.rb
304
+ - spec/session/rack_test_session_spec.rb
305
+ - spec/session/selenium_session_spec.rb
306
+ - spec/spec_helper.rb
307
+ - spec/string_spec.rb
308
+ - spec/timeout_spec.rb
309
+ - README.rdoc
310
+ - History.txt
311
+ has_rdoc: true
312
+ homepage: http://github.com/jnicklas/capybara
313
+ licenses: []
314
+
315
+ post_install_message:
316
+ rdoc_options:
317
+ - --main
318
+ - README.rdoc
319
+ require_paths:
320
+ - lib
321
+ required_ruby_version: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - ">="
324
+ - !ruby/object:Gem::Version
325
+ segments:
326
+ - 0
327
+ version: "0"
328
+ required_rubygems_version: !ruby/object:Gem::Requirement
329
+ requirements:
330
+ - - ">="
331
+ - !ruby/object:Gem::Version
332
+ segments:
333
+ - 0
334
+ version: "0"
335
+ requirements: []
336
+
337
+ rubyforge_project: capybara
338
+ rubygems_version: 1.3.6
339
+ signing_key:
340
+ specification_version: 3
341
+ summary: Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb
342
+ test_files: []
343
+