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.
- data/History.txt +202 -0
- data/README.rdoc +540 -0
- data/lib/capybara.rb +231 -0
- data/lib/capybara/cucumber.rb +32 -0
- data/lib/capybara/driver/base.rb +60 -0
- data/lib/capybara/driver/celerity_driver.rb +164 -0
- data/lib/capybara/driver/culerity_driver.rb +26 -0
- data/lib/capybara/driver/node.rb +78 -0
- data/lib/capybara/driver/rack_test_driver.rb +303 -0
- data/lib/capybara/driver/selenium_driver.rb +165 -0
- data/lib/capybara/dsl.rb +109 -0
- data/lib/capybara/node/actions.rb +160 -0
- data/lib/capybara/node/base.rb +47 -0
- data/lib/capybara/node/document.rb +17 -0
- data/lib/capybara/node/element.rb +182 -0
- data/lib/capybara/node/finders.rb +201 -0
- data/lib/capybara/node/matchers.rb +391 -0
- data/lib/capybara/node/simple.rb +116 -0
- data/lib/capybara/rails.rb +17 -0
- data/lib/capybara/rspec.rb +18 -0
- data/lib/capybara/selector.rb +70 -0
- data/lib/capybara/server.rb +90 -0
- data/lib/capybara/session.rb +281 -0
- data/lib/capybara/spec/driver.rb +243 -0
- data/lib/capybara/spec/fixtures/capybara.jpg +0 -0
- data/lib/capybara/spec/fixtures/test_file.txt +1 -0
- data/lib/capybara/spec/public/jquery-ui.js +35 -0
- data/lib/capybara/spec/public/jquery.js +19 -0
- data/lib/capybara/spec/public/test.js +33 -0
- data/lib/capybara/spec/session.rb +110 -0
- data/lib/capybara/spec/session/all_spec.rb +78 -0
- data/lib/capybara/spec/session/attach_file_spec.rb +70 -0
- data/lib/capybara/spec/session/check_spec.rb +65 -0
- data/lib/capybara/spec/session/choose_spec.rb +26 -0
- data/lib/capybara/spec/session/click_button_spec.rb +252 -0
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +36 -0
- data/lib/capybara/spec/session/click_link_spec.rb +113 -0
- data/lib/capybara/spec/session/current_url_spec.rb +15 -0
- data/lib/capybara/spec/session/fill_in_spec.rb +119 -0
- data/lib/capybara/spec/session/find_button_spec.rb +18 -0
- data/lib/capybara/spec/session/find_by_id_spec.rb +18 -0
- data/lib/capybara/spec/session/find_field_spec.rb +26 -0
- data/lib/capybara/spec/session/find_link_spec.rb +19 -0
- data/lib/capybara/spec/session/find_spec.rb +121 -0
- data/lib/capybara/spec/session/first_spec.rb +72 -0
- data/lib/capybara/spec/session/has_button_spec.rb +32 -0
- data/lib/capybara/spec/session/has_content_spec.rb +106 -0
- data/lib/capybara/spec/session/has_css_spec.rb +213 -0
- data/lib/capybara/spec/session/has_field_spec.rb +156 -0
- data/lib/capybara/spec/session/has_link_spec.rb +37 -0
- data/lib/capybara/spec/session/has_select_spec.rb +129 -0
- data/lib/capybara/spec/session/has_selector_spec.rb +129 -0
- data/lib/capybara/spec/session/has_table_spec.rb +96 -0
- data/lib/capybara/spec/session/has_xpath_spec.rb +123 -0
- data/lib/capybara/spec/session/headers.rb +19 -0
- data/lib/capybara/spec/session/javascript.rb +223 -0
- data/lib/capybara/spec/session/response_code.rb +19 -0
- data/lib/capybara/spec/session/select_spec.rb +105 -0
- data/lib/capybara/spec/session/uncheck_spec.rb +21 -0
- data/lib/capybara/spec/session/unselect_spec.rb +61 -0
- data/lib/capybara/spec/session/within_spec.rb +160 -0
- data/lib/capybara/spec/test_app.rb +117 -0
- data/lib/capybara/spec/views/buttons.erb +4 -0
- data/lib/capybara/spec/views/fieldsets.erb +29 -0
- data/lib/capybara/spec/views/form.erb +348 -0
- data/lib/capybara/spec/views/frame_one.erb +8 -0
- data/lib/capybara/spec/views/frame_two.erb +8 -0
- data/lib/capybara/spec/views/popup_one.erb +8 -0
- data/lib/capybara/spec/views/popup_two.erb +8 -0
- data/lib/capybara/spec/views/postback.erb +13 -0
- data/lib/capybara/spec/views/tables.erb +122 -0
- data/lib/capybara/spec/views/with_html.erb +69 -0
- data/lib/capybara/spec/views/with_js.erb +39 -0
- data/lib/capybara/spec/views/with_scope.erb +36 -0
- data/lib/capybara/spec/views/with_simple_html.erb +1 -0
- data/lib/capybara/spec/views/within_frames.erb +10 -0
- data/lib/capybara/spec/views/within_popups.erb +25 -0
- data/lib/capybara/util/save_and_open_page.rb +40 -0
- data/lib/capybara/util/timeout.rb +27 -0
- data/lib/capybara/version.rb +3 -0
- data/spec/basic_node_spec.rb +77 -0
- data/spec/capybara_spec.rb +46 -0
- data/spec/driver/celerity_driver_spec.rb +13 -0
- data/spec/driver/culerity_driver_spec.rb +14 -0
- data/spec/driver/rack_test_driver_spec.rb +84 -0
- data/spec/driver/remote_culerity_driver_spec.rb +22 -0
- data/spec/driver/remote_selenium_driver_spec.rb +16 -0
- data/spec/driver/selenium_driver_spec.rb +14 -0
- data/spec/dsl_spec.rb +157 -0
- data/spec/rspec_spec.rb +47 -0
- data/spec/save_and_open_page_spec.rb +159 -0
- data/spec/server_spec.rb +85 -0
- data/spec/session/celerity_session_spec.rb +24 -0
- data/spec/session/culerity_session_spec.rb +26 -0
- data/spec/session/rack_test_session_spec.rb +44 -0
- data/spec/session/selenium_session_spec.rb +26 -0
- data/spec/spec_helper.rb +40 -0
- data/spec/string_spec.rb +77 -0
- data/spec/timeout_spec.rb +28 -0
- metadata +343 -0
data/spec/server_spec.rb
ADDED
|
@@ -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
|
data/spec/spec_helper.rb
ADDED
|
@@ -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
|
data/spec/string_spec.rb
ADDED
|
@@ -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
|
+
|