david-capybara 0.3.8
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 +87 -0
- data/README.rdoc +389 -0
- data/lib/capybara.rb +52 -0
- data/lib/capybara/cucumber.rb +32 -0
- data/lib/capybara/driver/base.rb +48 -0
- data/lib/capybara/driver/celerity_driver.rb +143 -0
- data/lib/capybara/driver/culerity_driver.rb +25 -0
- data/lib/capybara/driver/rack_test_driver.rb +272 -0
- data/lib/capybara/driver/selenium_driver.rb +156 -0
- data/lib/capybara/dsl.rb +60 -0
- data/lib/capybara/node.rb +60 -0
- data/lib/capybara/rails.rb +17 -0
- data/lib/capybara/save_and_open_page.rb +33 -0
- data/lib/capybara/searchable.rb +54 -0
- data/lib/capybara/server.rb +114 -0
- data/lib/capybara/session.rb +262 -0
- data/lib/capybara/spec/driver.rb +162 -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/canvas.jpg +0 -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 +81 -0
- data/lib/capybara/spec/session/all_spec.rb +69 -0
- data/lib/capybara/spec/session/attach_file_spec.rb +64 -0
- data/lib/capybara/spec/session/check_spec.rb +67 -0
- data/lib/capybara/spec/session/choose_spec.rb +26 -0
- data/lib/capybara/spec/session/click_button_spec.rb +236 -0
- data/lib/capybara/spec/session/click_link_spec.rb +118 -0
- data/lib/capybara/spec/session/click_spec.rb +24 -0
- data/lib/capybara/spec/session/current_url_spec.rb +8 -0
- data/lib/capybara/spec/session/fill_in_spec.rb +108 -0
- data/lib/capybara/spec/session/find_button_spec.rb +16 -0
- data/lib/capybara/spec/session/find_by_id_spec.rb +16 -0
- data/lib/capybara/spec/session/find_field_spec.rb +22 -0
- data/lib/capybara/spec/session/find_link_spec.rb +17 -0
- data/lib/capybara/spec/session/find_spec.rb +57 -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 +107 -0
- data/lib/capybara/spec/session/has_field_spec.rb +96 -0
- data/lib/capybara/spec/session/has_link_spec.rb +33 -0
- data/lib/capybara/spec/session/has_select_spec.rb +89 -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 +204 -0
- data/lib/capybara/spec/session/locate_spec.rb +59 -0
- data/lib/capybara/spec/session/select_spec.rb +83 -0
- data/lib/capybara/spec/session/uncheck_spec.rb +21 -0
- data/lib/capybara/spec/session/unselect_spec.rb +54 -0
- data/lib/capybara/spec/session/within_spec.rb +153 -0
- data/lib/capybara/spec/test_app.rb +75 -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 +235 -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/postback.erb +13 -0
- data/lib/capybara/spec/views/tables.erb +122 -0
- data/lib/capybara/spec/views/with_html.erb +46 -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/version.rb +3 -0
- data/lib/capybara/wait_until.rb +28 -0
- data/lib/capybara/xpath.rb +180 -0
- data/spec/capybara_spec.rb +18 -0
- data/spec/driver/celerity_driver_spec.rb +16 -0
- data/spec/driver/culerity_driver_spec.rb +12 -0
- data/spec/driver/rack_test_driver_spec.rb +17 -0
- data/spec/driver/remote_culerity_driver_spec.rb +23 -0
- data/spec/driver/remote_selenium_driver_spec.rb +18 -0
- data/spec/driver/selenium_driver_spec.rb +11 -0
- data/spec/dsl_spec.rb +140 -0
- data/spec/save_and_open_page_spec.rb +43 -0
- data/spec/searchable_spec.rb +66 -0
- data/spec/server_spec.rb +53 -0
- data/spec/session/celerity_session_spec.rb +27 -0
- data/spec/session/culerity_session_spec.rb +25 -0
- data/spec/session/rack_test_session_spec.rb +33 -0
- data/spec/session/selenium_session_spec.rb +25 -0
- data/spec/spec_helper.rb +19 -0
- data/spec/wait_until_spec.rb +28 -0
- data/spec/xpath_spec.rb +180 -0
- metadata +260 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Capybara::Session do
|
|
4
|
+
context 'with culerity driver' do
|
|
5
|
+
before(:all) do
|
|
6
|
+
@session = Capybara::Session.new(:culerity, TestApp)
|
|
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::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
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Capybara::Session do
|
|
4
|
+
context 'with rack test driver' do
|
|
5
|
+
before do
|
|
6
|
+
@session = Capybara::Session.new(:rack_test, TestApp)
|
|
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
|
+
it_should_behave_like "session"
|
|
30
|
+
it_should_behave_like "session without javascript support"
|
|
31
|
+
it_should_behave_like "session with headers support"
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require File.expand_path('../spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Capybara::Session do
|
|
4
|
+
context 'with selenium driver' do
|
|
5
|
+
before do
|
|
6
|
+
@session = Capybara::Session.new(:selenium, TestApp)
|
|
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
|
+
end
|
|
25
|
+
end
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
$:.unshift(File.expand_path('../lib', File.dirname(__FILE__)))
|
|
2
|
+
$:.unshift(File.dirname(__FILE__))
|
|
3
|
+
|
|
4
|
+
require 'rubygems'
|
|
5
|
+
require 'spec'
|
|
6
|
+
require 'spec/autorun'
|
|
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
|
+
Spec::Runner.configure do |config|
|
|
16
|
+
config.after do
|
|
17
|
+
Capybara.default_selector = :xpath
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
require 'capybara'
|
|
4
|
+
require 'capybara/wait_until'
|
|
5
|
+
|
|
6
|
+
module Capybara
|
|
7
|
+
|
|
8
|
+
describe WaitUntil do
|
|
9
|
+
|
|
10
|
+
it "should return result of yield if it returns true value within timeout" do
|
|
11
|
+
WaitUntil.timeout { "hello" }.should == "hello"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "should keep trying within timeout" do
|
|
15
|
+
count = 0
|
|
16
|
+
WaitUntil.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
|
+
WaitUntil.timeout(0.1) { false }
|
|
22
|
+
end.should raise_error(::Capybara::TimeoutError)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
data/spec/xpath_spec.rb
ADDED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
require File.expand_path('spec_helper', File.dirname(__FILE__))
|
|
2
|
+
|
|
3
|
+
describe Capybara::XPath do
|
|
4
|
+
|
|
5
|
+
before do
|
|
6
|
+
@driver = Capybara::Driver::RackTest.new(TestApp)
|
|
7
|
+
@driver.visit('/form')
|
|
8
|
+
@xpath = Capybara::XPath.new
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
it "should proxy any class method calls to a new instance" do
|
|
12
|
+
@query = Capybara::XPath.fillable_field('First Name').to_s
|
|
13
|
+
@driver.find(@query).first.value.should == 'John'
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
it "should respond to instance methods at the class level" do
|
|
17
|
+
Capybara::XPath.should respond_to(:fillable_field)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
describe '.wrap' do
|
|
21
|
+
it "should return an XPath unmodified" do
|
|
22
|
+
Capybara::XPath.wrap(@xpath).should == @xpath
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
it "should wrap a string in an xpath object" do
|
|
26
|
+
@xpath = Capybara::XPath.wrap('//foo/bar')
|
|
27
|
+
@xpath.should be_an_instance_of(Capybara::XPath)
|
|
28
|
+
@xpath.paths.should == ['//foo/bar']
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
describe '#append' do
|
|
33
|
+
it "should append an XPath's paths" do
|
|
34
|
+
@xpath = Capybara::XPath.wrap('//test')
|
|
35
|
+
@xpath = @xpath.append(Capybara::XPath.wrap('//foo/bar'))
|
|
36
|
+
@xpath.paths.should == ['//test', '//foo/bar']
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
it "should append an String as a new path" do
|
|
40
|
+
@xpath = Capybara::XPath.wrap('//test')
|
|
41
|
+
@xpath = @xpath.append('//foo/bar')
|
|
42
|
+
@xpath.paths.should == ['//test', '//foo/bar']
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe '#prepend' do
|
|
47
|
+
it "should prepend an XPath's paths" do
|
|
48
|
+
@xpath = Capybara::XPath.wrap('//test')
|
|
49
|
+
@xpath = @xpath.prepend(Capybara::XPath.wrap('//foo/bar'))
|
|
50
|
+
@xpath.paths.should == ['//foo/bar', '//test']
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
it "should prepend an String as a new path" do
|
|
54
|
+
@xpath = Capybara::XPath.wrap('//test')
|
|
55
|
+
@xpath = @xpath.prepend('//foo/bar')
|
|
56
|
+
@xpath.paths.should == ['//foo/bar', '//test']
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
describe '#scope' do
|
|
61
|
+
it "should prepend the given scope to all paths" do
|
|
62
|
+
@xpath = Capybara::XPath.new('//foo/bar', '//test[@blah=foo]').scope('//quox')
|
|
63
|
+
@xpath.paths.should include('//quox//foo/bar', '//quox//test[@blah=foo]')
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
describe '#field' do
|
|
68
|
+
it "should find any field by id or label" do
|
|
69
|
+
@query = @xpath.field('First Name').to_s
|
|
70
|
+
@driver.find(@query).first.value.should == 'John'
|
|
71
|
+
@query = @xpath.field('Password').to_s
|
|
72
|
+
@driver.find(@query).first.value.should == 'seeekrit'
|
|
73
|
+
@query = @xpath.field('Description').to_s
|
|
74
|
+
@driver.find(@query).first.text.should == 'Descriptive text goes here'
|
|
75
|
+
@query = @xpath.field('Document').to_s
|
|
76
|
+
@driver.find(@query).first[:name].should == 'form[document]'
|
|
77
|
+
@query = @xpath.field('Cat').to_s
|
|
78
|
+
@driver.find(@query).first.value.should == 'cat'
|
|
79
|
+
@query = @xpath.field('Male').to_s
|
|
80
|
+
@driver.find(@query).first.value.should == 'male'
|
|
81
|
+
@query = @xpath.field('Region').to_s
|
|
82
|
+
@driver.find(@query).first[:name].should == 'form[region]'
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
it "should be chainable" do
|
|
86
|
+
@query = @xpath.field('First Name').button('Click me!').to_s
|
|
87
|
+
@driver.find(@query).first.value.should == 'John'
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
describe '#fillable_field' do
|
|
92
|
+
it "should find a text field, password field, or text area by id or label" do
|
|
93
|
+
@query = @xpath.fillable_field('First Name').to_s
|
|
94
|
+
@driver.find(@query).first.value.should == 'John'
|
|
95
|
+
@query = @xpath.fillable_field('Password').to_s
|
|
96
|
+
@driver.find(@query).first.value.should == 'seeekrit'
|
|
97
|
+
@query = @xpath.fillable_field('Description').to_s
|
|
98
|
+
@driver.find(@query).first.text.should == 'Descriptive text goes here'
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
it "should be chainable" do
|
|
102
|
+
@query = @xpath.fillable_field('First Name').button('Click me!').to_s
|
|
103
|
+
@driver.find(@query).first.value.should == 'John'
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
describe '#text_area' do
|
|
108
|
+
it "should find a text area by id or label" do
|
|
109
|
+
@query = @xpath.text_area('form_description').to_s
|
|
110
|
+
@driver.find(@query).first.text.should == 'Descriptive text goes here'
|
|
111
|
+
@query = @xpath.text_area('Description').to_s
|
|
112
|
+
@driver.find(@query).first.text.should == 'Descriptive text goes here'
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
it "should be chainable" do
|
|
116
|
+
@query = @xpath.text_area('Description').button('Click me!').to_s
|
|
117
|
+
@driver.find(@query).first.text.should == 'Descriptive text goes here'
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
describe '#button' do
|
|
122
|
+
it "should find a button by id or content" do
|
|
123
|
+
@query = @xpath.button('awe123').to_s
|
|
124
|
+
@driver.find(@query).first.value.should == 'awesome'
|
|
125
|
+
@query = @xpath.button('okay556').to_s
|
|
126
|
+
@driver.find(@query).first.value.should == 'okay'
|
|
127
|
+
@query = @xpath.button('click_me_123').to_s
|
|
128
|
+
@driver.find(@query).first.value.should == 'click_me'
|
|
129
|
+
@query = @xpath.button('Click me!').to_s
|
|
130
|
+
@driver.find(@query).first.value.should == 'click_me'
|
|
131
|
+
@query = @xpath.button('fresh_btn').to_s
|
|
132
|
+
@driver.find(@query).first.value.should == 'i am fresh'
|
|
133
|
+
@query = @xpath.button('i am fresh').to_s
|
|
134
|
+
@driver.find(@query).first[:name].should == 'form[fresh]'
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
describe '#radio_button' do
|
|
139
|
+
it "should find a radio button by id or label" do
|
|
140
|
+
@query = @xpath.radio_button('Male').to_s
|
|
141
|
+
@driver.find(@query).first.value.should == 'male'
|
|
142
|
+
@query = @xpath.radio_button('gender_male').to_s
|
|
143
|
+
@driver.find(@query).first.value.should == 'male'
|
|
144
|
+
end
|
|
145
|
+
|
|
146
|
+
it "should be chainable" do
|
|
147
|
+
@query = @xpath.radio_button('Male').button('Click me!').to_s
|
|
148
|
+
@driver.find(@query).first.value.should == 'male'
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
describe '#checkbox' do
|
|
153
|
+
it "should find a checkbox by id or label" do
|
|
154
|
+
@query = @xpath.checkbox('Cat').to_s
|
|
155
|
+
@driver.find(@query).first.value.should == 'cat'
|
|
156
|
+
@query = @xpath.checkbox('form_pets_cat').to_s
|
|
157
|
+
@driver.find(@query).first.value.should == 'cat'
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
it "should be chainable" do
|
|
161
|
+
@query = @xpath.checkbox('Cat').button('Click me!').to_s
|
|
162
|
+
@driver.find(@query).first.value.should == 'cat'
|
|
163
|
+
end
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
describe '#select' do
|
|
167
|
+
it "should find a select by id or label" do
|
|
168
|
+
@query = @xpath.select('Region').to_s
|
|
169
|
+
@driver.find(@query).first[:name].should == 'form[region]'
|
|
170
|
+
@query = @xpath.select('form_region').to_s
|
|
171
|
+
@driver.find(@query).first[:name].should == 'form[region]'
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
it "should be chainable" do
|
|
175
|
+
@query = @xpath.select('Region').button('Click me!').to_s
|
|
176
|
+
@driver.find(@query).first[:name].should == 'form[region]'
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: david-capybara
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
prerelease: false
|
|
5
|
+
segments:
|
|
6
|
+
- 0
|
|
7
|
+
- 3
|
|
8
|
+
- 8
|
|
9
|
+
version: 0.3.8
|
|
10
|
+
platform: ruby
|
|
11
|
+
authors:
|
|
12
|
+
- Jonas Nicklas
|
|
13
|
+
autorequire:
|
|
14
|
+
bindir: bin
|
|
15
|
+
cert_chain: []
|
|
16
|
+
|
|
17
|
+
date: 2010-06-18 00:00:00 +01:00
|
|
18
|
+
default_executable:
|
|
19
|
+
dependencies:
|
|
20
|
+
- !ruby/object:Gem::Dependency
|
|
21
|
+
name: nokogiri
|
|
22
|
+
prerelease: false
|
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
|
24
|
+
requirements:
|
|
25
|
+
- - ">="
|
|
26
|
+
- !ruby/object:Gem::Version
|
|
27
|
+
segments:
|
|
28
|
+
- 1
|
|
29
|
+
- 3
|
|
30
|
+
- 3
|
|
31
|
+
version: 1.3.3
|
|
32
|
+
type: :runtime
|
|
33
|
+
version_requirements: *id001
|
|
34
|
+
- !ruby/object:Gem::Dependency
|
|
35
|
+
name: mime-types
|
|
36
|
+
prerelease: false
|
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
|
38
|
+
requirements:
|
|
39
|
+
- - ">="
|
|
40
|
+
- !ruby/object:Gem::Version
|
|
41
|
+
segments:
|
|
42
|
+
- 1
|
|
43
|
+
- 16
|
|
44
|
+
version: "1.16"
|
|
45
|
+
type: :runtime
|
|
46
|
+
version_requirements: *id002
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: culerity
|
|
49
|
+
prerelease: false
|
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - ">="
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
segments:
|
|
55
|
+
- 0
|
|
56
|
+
- 2
|
|
57
|
+
- 4
|
|
58
|
+
version: 0.2.4
|
|
59
|
+
type: :runtime
|
|
60
|
+
version_requirements: *id003
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: selenium-webdriver
|
|
63
|
+
prerelease: false
|
|
64
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - ">="
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
segments:
|
|
69
|
+
- 0
|
|
70
|
+
- 0
|
|
71
|
+
- 3
|
|
72
|
+
version: 0.0.3
|
|
73
|
+
type: :runtime
|
|
74
|
+
version_requirements: *id004
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: rack
|
|
77
|
+
prerelease: false
|
|
78
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
segments:
|
|
83
|
+
- 1
|
|
84
|
+
- 0
|
|
85
|
+
- 0
|
|
86
|
+
version: 1.0.0
|
|
87
|
+
type: :runtime
|
|
88
|
+
version_requirements: *id005
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: rack-test
|
|
91
|
+
prerelease: false
|
|
92
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
|
93
|
+
requirements:
|
|
94
|
+
- - ">="
|
|
95
|
+
- !ruby/object:Gem::Version
|
|
96
|
+
segments:
|
|
97
|
+
- 0
|
|
98
|
+
- 5
|
|
99
|
+
- 2
|
|
100
|
+
version: 0.5.2
|
|
101
|
+
type: :runtime
|
|
102
|
+
version_requirements: *id006
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: sinatra
|
|
105
|
+
prerelease: false
|
|
106
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
segments:
|
|
111
|
+
- 0
|
|
112
|
+
- 9
|
|
113
|
+
- 4
|
|
114
|
+
version: 0.9.4
|
|
115
|
+
type: :development
|
|
116
|
+
version_requirements: *id007
|
|
117
|
+
- !ruby/object:Gem::Dependency
|
|
118
|
+
name: rspec
|
|
119
|
+
prerelease: false
|
|
120
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
121
|
+
requirements:
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
segments:
|
|
125
|
+
- 1
|
|
126
|
+
- 2
|
|
127
|
+
- 9
|
|
128
|
+
version: 1.2.9
|
|
129
|
+
type: :development
|
|
130
|
+
version_requirements: *id008
|
|
131
|
+
description: Capybara is an integration testing tool for rack based web applications. It simulates how a user would interact with a website
|
|
132
|
+
email:
|
|
133
|
+
- jonas.nicklas@gmail.com
|
|
134
|
+
executables: []
|
|
135
|
+
|
|
136
|
+
extensions: []
|
|
137
|
+
|
|
138
|
+
extra_rdoc_files:
|
|
139
|
+
- README.rdoc
|
|
140
|
+
files:
|
|
141
|
+
- lib/capybara/cucumber.rb
|
|
142
|
+
- lib/capybara/rails.rb
|
|
143
|
+
- lib/capybara/save_and_open_page.rb
|
|
144
|
+
- lib/capybara/dsl.rb
|
|
145
|
+
- lib/capybara/searchable.rb
|
|
146
|
+
- lib/capybara/version.rb
|
|
147
|
+
- lib/capybara/server.rb
|
|
148
|
+
- lib/capybara/session.rb
|
|
149
|
+
- lib/capybara/wait_until.rb
|
|
150
|
+
- lib/capybara/driver/culerity_driver.rb
|
|
151
|
+
- lib/capybara/driver/base.rb
|
|
152
|
+
- lib/capybara/driver/celerity_driver.rb
|
|
153
|
+
- lib/capybara/driver/rack_test_driver.rb
|
|
154
|
+
- lib/capybara/driver/selenium_driver.rb
|
|
155
|
+
- lib/capybara/spec/driver.rb
|
|
156
|
+
- lib/capybara/spec/session/headers.rb
|
|
157
|
+
- lib/capybara/spec/session/find_by_id_spec.rb
|
|
158
|
+
- lib/capybara/spec/session/click_button_spec.rb
|
|
159
|
+
- lib/capybara/spec/session/click_link_spec.rb
|
|
160
|
+
- lib/capybara/spec/session/all_spec.rb
|
|
161
|
+
- lib/capybara/spec/session/fill_in_spec.rb
|
|
162
|
+
- lib/capybara/spec/session/uncheck_spec.rb
|
|
163
|
+
- lib/capybara/spec/session/find_field_spec.rb
|
|
164
|
+
- lib/capybara/spec/session/has_xpath_spec.rb
|
|
165
|
+
- lib/capybara/spec/session/check_spec.rb
|
|
166
|
+
- lib/capybara/spec/session/locate_spec.rb
|
|
167
|
+
- lib/capybara/spec/session/within_spec.rb
|
|
168
|
+
- lib/capybara/spec/session/has_css_spec.rb
|
|
169
|
+
- lib/capybara/spec/session/unselect_spec.rb
|
|
170
|
+
- lib/capybara/spec/session/javascript.rb
|
|
171
|
+
- lib/capybara/spec/session/find_spec.rb
|
|
172
|
+
- lib/capybara/spec/session/has_table_spec.rb
|
|
173
|
+
- lib/capybara/spec/session/has_field_spec.rb
|
|
174
|
+
- lib/capybara/spec/session/has_link_spec.rb
|
|
175
|
+
- lib/capybara/spec/session/choose_spec.rb
|
|
176
|
+
- lib/capybara/spec/session/has_button_spec.rb
|
|
177
|
+
- lib/capybara/spec/session/select_spec.rb
|
|
178
|
+
- lib/capybara/spec/session/find_link_spec.rb
|
|
179
|
+
- lib/capybara/spec/session/current_url_spec.rb
|
|
180
|
+
- lib/capybara/spec/session/has_select_spec.rb
|
|
181
|
+
- lib/capybara/spec/session/click_spec.rb
|
|
182
|
+
- lib/capybara/spec/session/find_button_spec.rb
|
|
183
|
+
- lib/capybara/spec/session/attach_file_spec.rb
|
|
184
|
+
- lib/capybara/spec/session/has_content_spec.rb
|
|
185
|
+
- lib/capybara/spec/session.rb
|
|
186
|
+
- lib/capybara/spec/views/with_simple_html.erb
|
|
187
|
+
- lib/capybara/spec/views/frame_two.erb
|
|
188
|
+
- lib/capybara/spec/views/frame_one.erb
|
|
189
|
+
- lib/capybara/spec/views/with_scope.erb
|
|
190
|
+
- lib/capybara/spec/views/tables.erb
|
|
191
|
+
- lib/capybara/spec/views/fieldsets.erb
|
|
192
|
+
- lib/capybara/spec/views/form.erb
|
|
193
|
+
- lib/capybara/spec/views/postback.erb
|
|
194
|
+
- lib/capybara/spec/views/with_js.erb
|
|
195
|
+
- lib/capybara/spec/views/buttons.erb
|
|
196
|
+
- lib/capybara/spec/views/within_frames.erb
|
|
197
|
+
- lib/capybara/spec/views/with_html.erb
|
|
198
|
+
- lib/capybara/spec/fixtures/test_file.txt
|
|
199
|
+
- lib/capybara/spec/fixtures/capybara.jpg
|
|
200
|
+
- lib/capybara/spec/public/jquery-ui.js
|
|
201
|
+
- lib/capybara/spec/public/jquery.js
|
|
202
|
+
- lib/capybara/spec/public/test.js
|
|
203
|
+
- lib/capybara/spec/public/canvas.jpg
|
|
204
|
+
- lib/capybara/spec/test_app.rb
|
|
205
|
+
- lib/capybara/xpath.rb
|
|
206
|
+
- lib/capybara/node.rb
|
|
207
|
+
- lib/capybara.rb
|
|
208
|
+
- spec/searchable_spec.rb
|
|
209
|
+
- spec/save_and_open_page_spec.rb
|
|
210
|
+
- spec/session/selenium_session_spec.rb
|
|
211
|
+
- spec/session/celerity_session_spec.rb
|
|
212
|
+
- spec/session/culerity_session_spec.rb
|
|
213
|
+
- spec/session/rack_test_session_spec.rb
|
|
214
|
+
- spec/capybara_spec.rb
|
|
215
|
+
- spec/xpath_spec.rb
|
|
216
|
+
- spec/wait_until_spec.rb
|
|
217
|
+
- spec/driver/selenium_driver_spec.rb
|
|
218
|
+
- spec/driver/rack_test_driver_spec.rb
|
|
219
|
+
- spec/driver/celerity_driver_spec.rb
|
|
220
|
+
- spec/driver/culerity_driver_spec.rb
|
|
221
|
+
- spec/driver/remote_selenium_driver_spec.rb
|
|
222
|
+
- spec/driver/remote_culerity_driver_spec.rb
|
|
223
|
+
- spec/server_spec.rb
|
|
224
|
+
- spec/spec_helper.rb
|
|
225
|
+
- spec/dsl_spec.rb
|
|
226
|
+
- README.rdoc
|
|
227
|
+
- History.txt
|
|
228
|
+
has_rdoc: true
|
|
229
|
+
homepage: http://github.com/jnicklas/capybara
|
|
230
|
+
licenses: []
|
|
231
|
+
|
|
232
|
+
post_install_message:
|
|
233
|
+
rdoc_options:
|
|
234
|
+
- --main
|
|
235
|
+
- README.rdoc
|
|
236
|
+
require_paths:
|
|
237
|
+
- lib
|
|
238
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
239
|
+
requirements:
|
|
240
|
+
- - ">="
|
|
241
|
+
- !ruby/object:Gem::Version
|
|
242
|
+
segments:
|
|
243
|
+
- 0
|
|
244
|
+
version: "0"
|
|
245
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
246
|
+
requirements:
|
|
247
|
+
- - ">="
|
|
248
|
+
- !ruby/object:Gem::Version
|
|
249
|
+
segments:
|
|
250
|
+
- 0
|
|
251
|
+
version: "0"
|
|
252
|
+
requirements: []
|
|
253
|
+
|
|
254
|
+
rubyforge_project: capybara
|
|
255
|
+
rubygems_version: 1.3.6
|
|
256
|
+
signing_key:
|
|
257
|
+
specification_version: 3
|
|
258
|
+
summary: Capybara aims to simplify the process of integration testing Rack applications, such as Rails, Sinatra or Merb
|
|
259
|
+
test_files: []
|
|
260
|
+
|