capybara 2.5.0 → 2.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.yard/templates_custom/default/class/html/selectors.erb +38 -0
- data/.yard/templates_custom/default/class/html/setup.rb +17 -0
- data/.yard/yard_extensions.rb +78 -0
- data/.yardopts +1 -0
- data/History.md +413 -10
- data/License.txt +1 -1
- data/README.md +237 -130
- data/lib/capybara/config.rb +132 -0
- data/lib/capybara/cucumber.rb +3 -1
- data/lib/capybara/driver/base.rb +27 -6
- data/lib/capybara/driver/node.rb +14 -5
- data/lib/capybara/dsl.rb +2 -3
- data/lib/capybara/helpers.rb +13 -65
- data/lib/capybara/minitest/spec.rb +177 -0
- data/lib/capybara/minitest.rb +278 -0
- data/lib/capybara/node/actions.rb +180 -24
- data/lib/capybara/node/base.rb +17 -5
- data/lib/capybara/node/document.rb +5 -0
- data/lib/capybara/node/document_matchers.rb +15 -14
- data/lib/capybara/node/element.rb +55 -7
- data/lib/capybara/node/finders.rb +179 -67
- data/lib/capybara/node/matchers.rb +301 -105
- data/lib/capybara/node/simple.rb +15 -4
- data/lib/capybara/queries/ancestor_query.rb +25 -0
- data/lib/capybara/queries/base_query.rb +69 -3
- data/lib/capybara/queries/current_path_query.rb +17 -8
- data/lib/capybara/queries/match_query.rb +19 -0
- data/lib/capybara/queries/selector_query.rb +251 -0
- data/lib/capybara/queries/sibling_query.rb +25 -0
- data/lib/capybara/queries/text_query.rb +67 -16
- data/lib/capybara/queries/title_query.rb +4 -2
- data/lib/capybara/query.rb +3 -131
- data/lib/capybara/rack_test/browser.rb +14 -5
- data/lib/capybara/rack_test/css_handlers.rb +1 -0
- data/lib/capybara/rack_test/driver.rb +15 -8
- data/lib/capybara/rack_test/form.rb +34 -12
- data/lib/capybara/rack_test/node.rb +29 -12
- data/lib/capybara/rails.rb +3 -3
- data/lib/capybara/result.rb +104 -9
- data/lib/capybara/rspec/compound.rb +95 -0
- data/lib/capybara/rspec/features.rb +17 -6
- data/lib/capybara/rspec/matcher_proxies.rb +45 -0
- data/lib/capybara/rspec/matchers.rb +199 -80
- data/lib/capybara/rspec.rb +4 -2
- data/lib/capybara/selector/css.rb +30 -0
- data/lib/capybara/selector/filter.rb +20 -0
- data/lib/capybara/selector/filter_set.rb +74 -0
- data/lib/capybara/selector/filters/base.rb +33 -0
- data/lib/capybara/selector/filters/expression_filter.rb +40 -0
- data/lib/capybara/selector/filters/node_filter.rb +27 -0
- data/lib/capybara/selector/selector.rb +276 -0
- data/lib/capybara/selector.rb +452 -157
- data/lib/capybara/selenium/driver.rb +282 -81
- data/lib/capybara/selenium/node.rb +144 -46
- data/lib/capybara/server.rb +59 -16
- data/lib/capybara/session/config.rb +114 -0
- data/lib/capybara/session/matchers.rb +29 -19
- data/lib/capybara/session.rb +378 -143
- data/lib/capybara/spec/fixtures/no_extension +1 -0
- data/lib/capybara/spec/public/jquery-ui.js +13 -791
- data/lib/capybara/spec/public/jquery.js +4 -9045
- data/lib/capybara/spec/public/test.js +45 -11
- data/lib/capybara/spec/session/accept_alert_spec.rb +30 -7
- data/lib/capybara/spec/session/accept_confirm_spec.rb +14 -2
- data/lib/capybara/spec/session/accept_prompt_spec.rb +35 -6
- data/lib/capybara/spec/session/all_spec.rb +45 -32
- data/lib/capybara/spec/session/ancestor_spec.rb +85 -0
- data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +110 -0
- data/lib/capybara/spec/session/assert_current_path.rb +15 -2
- data/lib/capybara/spec/session/assert_selector.rb +29 -28
- data/lib/capybara/spec/session/assert_text.rb +59 -20
- data/lib/capybara/spec/session/assert_title.rb +25 -11
- data/lib/capybara/spec/session/attach_file_spec.rb +42 -4
- data/lib/capybara/spec/session/body_spec.rb +1 -0
- data/lib/capybara/spec/session/check_spec.rb +90 -14
- data/lib/capybara/spec/session/choose_spec.rb +31 -5
- data/lib/capybara/spec/session/click_button_spec.rb +20 -9
- data/lib/capybara/spec/session/click_link_or_button_spec.rb +15 -9
- data/lib/capybara/spec/session/click_link_spec.rb +39 -15
- data/lib/capybara/spec/session/current_scope_spec.rb +2 -1
- data/lib/capybara/spec/session/current_url_spec.rb +12 -3
- data/lib/capybara/spec/session/dismiss_confirm_spec.rb +6 -5
- data/lib/capybara/spec/session/dismiss_prompt_spec.rb +4 -3
- data/lib/capybara/spec/session/element/assert_match_selector.rb +36 -0
- data/lib/capybara/spec/session/element/match_css_spec.rb +23 -0
- data/lib/capybara/spec/session/element/match_xpath_spec.rb +23 -0
- data/lib/capybara/spec/session/element/matches_selector_spec.rb +106 -0
- data/lib/capybara/spec/session/evaluate_async_script_spec.rb +22 -0
- data/lib/capybara/spec/session/evaluate_script_spec.rb +23 -1
- data/lib/capybara/spec/session/execute_script_spec.rb +22 -3
- data/lib/capybara/spec/session/fill_in_spec.rb +50 -32
- data/lib/capybara/spec/session/find_button_spec.rb +43 -2
- data/lib/capybara/spec/session/find_by_id_spec.rb +3 -2
- data/lib/capybara/spec/session/find_field_spec.rb +42 -6
- data/lib/capybara/spec/session/find_link_spec.rb +22 -3
- data/lib/capybara/spec/session/find_spec.rb +103 -57
- data/lib/capybara/spec/session/first_spec.rb +34 -18
- data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +103 -0
- data/lib/capybara/spec/session/{within_frame_spec.rb → frame/within_frame_spec.rb} +44 -2
- data/lib/capybara/spec/session/go_back_spec.rb +2 -1
- data/lib/capybara/spec/session/go_forward_spec.rb +2 -1
- data/lib/capybara/spec/session/has_all_selectors_spec.rb +69 -0
- data/lib/capybara/spec/session/has_button_spec.rb +17 -8
- data/lib/capybara/spec/session/has_css_spec.rb +85 -73
- data/lib/capybara/spec/session/has_current_path_spec.rb +91 -7
- data/lib/capybara/spec/session/has_field_spec.rb +93 -58
- data/lib/capybara/spec/session/has_link_spec.rb +9 -8
- data/lib/capybara/spec/session/has_none_selectors_spec.rb +76 -0
- data/lib/capybara/spec/session/has_select_spec.rb +159 -59
- data/lib/capybara/spec/session/has_selector_spec.rb +64 -28
- data/lib/capybara/spec/session/has_table_spec.rb +1 -0
- data/lib/capybara/spec/session/has_text_spec.rb +27 -12
- data/lib/capybara/spec/session/has_title_spec.rb +22 -4
- data/lib/capybara/spec/session/has_xpath_spec.rb +32 -29
- data/lib/capybara/spec/session/headers.rb +2 -1
- data/lib/capybara/spec/session/html_spec.rb +4 -3
- data/lib/capybara/spec/session/node_spec.rb +198 -38
- data/lib/capybara/spec/session/refresh_spec.rb +28 -0
- data/lib/capybara/spec/session/reset_session_spec.rb +46 -5
- data/lib/capybara/spec/session/response_code.rb +2 -1
- data/lib/capybara/spec/session/save_and_open_page_spec.rb +1 -0
- data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +6 -5
- data/lib/capybara/spec/session/save_page_spec.rb +34 -2
- data/lib/capybara/spec/session/save_screenshot_spec.rb +31 -1
- data/lib/capybara/spec/session/screenshot_spec.rb +4 -2
- data/lib/capybara/spec/session/select_spec.rb +34 -32
- data/lib/capybara/spec/session/selectors_spec.rb +65 -0
- data/lib/capybara/spec/session/sibling_spec.rb +52 -0
- data/lib/capybara/spec/session/text_spec.rb +4 -4
- data/lib/capybara/spec/session/title_spec.rb +2 -1
- data/lib/capybara/spec/session/uncheck_spec.rb +42 -2
- data/lib/capybara/spec/session/unselect_spec.rb +17 -16
- data/lib/capybara/spec/session/visit_spec.rb +77 -2
- data/lib/capybara/spec/session/window/become_closed_spec.rb +12 -11
- data/lib/capybara/spec/session/window/current_window_spec.rb +1 -0
- data/lib/capybara/spec/session/window/open_new_window_spec.rb +1 -0
- data/lib/capybara/spec/session/window/switch_to_window_spec.rb +16 -11
- data/lib/capybara/spec/session/window/window_opened_by_spec.rb +7 -4
- data/lib/capybara/spec/session/window/window_spec.rb +36 -29
- data/lib/capybara/spec/session/window/windows_spec.rb +1 -0
- data/lib/capybara/spec/session/window/within_window_spec.rb +31 -7
- data/lib/capybara/spec/session/within_spec.rb +14 -6
- data/lib/capybara/spec/spec_helper.rb +37 -4
- data/lib/capybara/spec/test_app.rb +15 -3
- data/lib/capybara/spec/views/buttons.erb +1 -0
- data/lib/capybara/spec/views/fieldsets.erb +2 -1
- data/lib/capybara/spec/views/form.erb +169 -9
- data/lib/capybara/spec/views/frame_child.erb +10 -2
- data/lib/capybara/spec/views/frame_one.erb +2 -1
- data/lib/capybara/spec/views/frame_parent.erb +3 -2
- data/lib/capybara/spec/views/frame_two.erb +2 -1
- data/lib/capybara/spec/views/header_links.erb +1 -0
- data/lib/capybara/spec/views/host_links.erb +1 -0
- data/lib/capybara/spec/views/initial_alert.erb +10 -0
- data/lib/capybara/spec/views/path.erb +1 -0
- data/lib/capybara/spec/views/popup_one.erb +1 -0
- data/lib/capybara/spec/views/popup_two.erb +1 -0
- data/lib/capybara/spec/views/postback.erb +2 -1
- data/lib/capybara/spec/views/tables.erb +1 -0
- data/lib/capybara/spec/views/with_base_tag.erb +1 -0
- data/lib/capybara/spec/views/with_count.erb +2 -1
- data/lib/capybara/spec/views/with_fixed_header_footer.erb +17 -0
- data/lib/capybara/spec/views/with_hover.erb +7 -1
- data/lib/capybara/spec/views/with_html.erb +40 -2
- data/lib/capybara/spec/views/with_html_entities.erb +1 -0
- data/lib/capybara/spec/views/with_js.erb +32 -1
- data/lib/capybara/spec/views/with_scope.erb +1 -0
- data/lib/capybara/spec/views/with_simple_html.erb +2 -1
- data/lib/capybara/spec/views/with_slow_unload.erb +17 -0
- data/lib/capybara/spec/views/with_title.erb +2 -1
- data/lib/capybara/spec/views/with_unload_alert.erb +14 -0
- data/lib/capybara/spec/views/with_windows.erb +7 -0
- data/lib/capybara/spec/views/within_frames.erb +3 -2
- data/lib/capybara/version.rb +2 -1
- data/lib/capybara/window.rb +20 -3
- data/lib/capybara.rb +189 -93
- data/spec/basic_node_spec.rb +7 -6
- data/spec/capybara_spec.rb +90 -4
- data/spec/dsl_spec.rb +3 -1
- data/spec/filter_set_spec.rb +28 -0
- data/spec/fixtures/capybara.csv +1 -0
- data/spec/fixtures/selenium_driver_rspec_failure.rb +5 -1
- data/spec/fixtures/selenium_driver_rspec_success.rb +5 -1
- data/spec/minitest_spec.rb +130 -0
- data/spec/minitest_spec_spec.rb +135 -0
- data/spec/per_session_config_spec.rb +67 -0
- data/spec/rack_test_spec.rb +50 -7
- data/spec/result_spec.rb +76 -0
- data/spec/rspec/features_spec.rb +21 -8
- data/spec/rspec/scenarios_spec.rb +21 -0
- data/spec/rspec/{matchers_spec.rb → shared_spec_matchers.rb} +160 -54
- data/spec/rspec/views_spec.rb +5 -0
- data/spec/rspec_matchers_spec.rb +46 -0
- data/spec/rspec_spec.rb +79 -1
- data/spec/selector_spec.rb +199 -0
- data/spec/selenium_spec_chrome.rb +54 -9
- data/spec/selenium_spec_firefox.rb +68 -0
- data/spec/selenium_spec_marionette.rb +127 -0
- data/spec/server_spec.rb +102 -14
- data/spec/session_spec.rb +54 -0
- data/spec/shared_selenium_session.rb +215 -0
- data/spec/spec_helper.rb +7 -0
- metadata +140 -15
- data/spec/selenium_spec.rb +0 -128
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.18.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
+
- Thomas Walpole
|
7
8
|
- Jonas Nicklas
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain:
|
11
12
|
- gem-public_cert.pem
|
12
|
-
date:
|
13
|
+
date: 2018-02-13 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: nokogiri
|
@@ -26,19 +27,19 @@ dependencies:
|
|
26
27
|
- !ruby/object:Gem::Version
|
27
28
|
version: 1.3.3
|
28
29
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
30
|
+
name: mini_mime
|
30
31
|
requirement: !ruby/object:Gem::Requirement
|
31
32
|
requirements:
|
32
33
|
- - ">="
|
33
34
|
- !ruby/object:Gem::Version
|
34
|
-
version:
|
35
|
+
version: 0.1.3
|
35
36
|
type: :runtime
|
36
37
|
prerelease: false
|
37
38
|
version_requirements: !ruby/object:Gem::Requirement
|
38
39
|
requirements:
|
39
40
|
- - ">="
|
40
41
|
- !ruby/object:Gem::Version
|
41
|
-
version:
|
42
|
+
version: 0.1.3
|
42
43
|
- !ruby/object:Gem::Dependency
|
43
44
|
name: rack
|
44
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -71,30 +72,62 @@ dependencies:
|
|
71
72
|
name: xpath
|
72
73
|
requirement: !ruby/object:Gem::Requirement
|
73
74
|
requirements:
|
74
|
-
- - "
|
75
|
+
- - ">="
|
75
76
|
- !ruby/object:Gem::Version
|
76
77
|
version: '2.0'
|
78
|
+
- - "<"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '4.0'
|
77
81
|
type: :runtime
|
78
82
|
prerelease: false
|
79
83
|
version_requirements: !ruby/object:Gem::Requirement
|
80
84
|
requirements:
|
81
|
-
- - "
|
85
|
+
- - ">="
|
82
86
|
- !ruby/object:Gem::Version
|
83
87
|
version: '2.0'
|
88
|
+
- - "<"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '4.0'
|
91
|
+
- !ruby/object:Gem::Dependency
|
92
|
+
name: addressable
|
93
|
+
requirement: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '0'
|
98
|
+
type: :runtime
|
99
|
+
prerelease: false
|
100
|
+
version_requirements: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '0'
|
84
105
|
- !ruby/object:Gem::Dependency
|
85
106
|
name: selenium-webdriver
|
86
107
|
requirement: !ruby/object:Gem::Requirement
|
87
108
|
requirements:
|
88
|
-
- - "
|
109
|
+
- - ">="
|
89
110
|
- !ruby/object:Gem::Version
|
90
111
|
version: '2.0'
|
112
|
+
- - "<"
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '4.0'
|
115
|
+
- - "!="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 3.4.1
|
91
118
|
type: :development
|
92
119
|
prerelease: false
|
93
120
|
version_requirements: !ruby/object:Gem::Requirement
|
94
121
|
requirements:
|
95
|
-
- - "
|
122
|
+
- - ">="
|
96
123
|
- !ruby/object:Gem::Version
|
97
124
|
version: '2.0'
|
125
|
+
- - "<"
|
126
|
+
- !ruby/object:Gem::Version
|
127
|
+
version: '4.0'
|
128
|
+
- - "!="
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: 3.4.1
|
98
131
|
- !ruby/object:Gem::Dependency
|
99
132
|
name: sinatra
|
100
133
|
requirement: !ruby/object:Gem::Requirement
|
@@ -179,6 +212,20 @@ dependencies:
|
|
179
212
|
- - ">="
|
180
213
|
- !ruby/object:Gem::Version
|
181
214
|
version: 0.10.5
|
215
|
+
- !ruby/object:Gem::Dependency
|
216
|
+
name: minitest
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - ">="
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '0'
|
222
|
+
type: :development
|
223
|
+
prerelease: false
|
224
|
+
version_requirements: !ruby/object:Gem::Requirement
|
225
|
+
requirements:
|
226
|
+
- - ">="
|
227
|
+
- !ruby/object:Gem::Version
|
228
|
+
version: '0'
|
182
229
|
- !ruby/object:Gem::Dependency
|
183
230
|
name: rake
|
184
231
|
requirement: !ruby/object:Gem::Requirement
|
@@ -193,6 +240,20 @@ dependencies:
|
|
193
240
|
- - ">="
|
194
241
|
- !ruby/object:Gem::Version
|
195
242
|
version: '0'
|
243
|
+
- !ruby/object:Gem::Dependency
|
244
|
+
name: puma
|
245
|
+
requirement: !ruby/object:Gem::Requirement
|
246
|
+
requirements:
|
247
|
+
- - ">="
|
248
|
+
- !ruby/object:Gem::Version
|
249
|
+
version: '0'
|
250
|
+
type: :development
|
251
|
+
prerelease: false
|
252
|
+
version_requirements: !ruby/object:Gem::Requirement
|
253
|
+
requirements:
|
254
|
+
- - ">="
|
255
|
+
- !ruby/object:Gem::Version
|
256
|
+
version: '0'
|
196
257
|
- !ruby/object:Gem::Dependency
|
197
258
|
name: pry
|
198
259
|
requirement: !ruby/object:Gem::Requirement
|
@@ -207,23 +268,45 @@ dependencies:
|
|
207
268
|
- - ">="
|
208
269
|
- !ruby/object:Gem::Version
|
209
270
|
version: '0'
|
271
|
+
- !ruby/object:Gem::Dependency
|
272
|
+
name: erubi
|
273
|
+
requirement: !ruby/object:Gem::Requirement
|
274
|
+
requirements:
|
275
|
+
- - ">="
|
276
|
+
- !ruby/object:Gem::Version
|
277
|
+
version: '0'
|
278
|
+
type: :development
|
279
|
+
prerelease: false
|
280
|
+
version_requirements: !ruby/object:Gem::Requirement
|
281
|
+
requirements:
|
282
|
+
- - ">="
|
283
|
+
- !ruby/object:Gem::Version
|
284
|
+
version: '0'
|
210
285
|
description: Capybara is an integration testing tool for rack based web applications.
|
211
286
|
It simulates how a user would interact with a website
|
212
287
|
email:
|
288
|
+
- twalpole@gmail.com
|
213
289
|
- jonas.nicklas@gmail.com
|
214
290
|
executables: []
|
215
291
|
extensions: []
|
216
292
|
extra_rdoc_files: []
|
217
293
|
files:
|
294
|
+
- ".yard/templates_custom/default/class/html/selectors.erb"
|
295
|
+
- ".yard/templates_custom/default/class/html/setup.rb"
|
296
|
+
- ".yard/yard_extensions.rb"
|
297
|
+
- ".yardopts"
|
218
298
|
- History.md
|
219
299
|
- License.txt
|
220
300
|
- README.md
|
221
301
|
- lib/capybara.rb
|
302
|
+
- lib/capybara/config.rb
|
222
303
|
- lib/capybara/cucumber.rb
|
223
304
|
- lib/capybara/driver/base.rb
|
224
305
|
- lib/capybara/driver/node.rb
|
225
306
|
- lib/capybara/dsl.rb
|
226
307
|
- lib/capybara/helpers.rb
|
308
|
+
- lib/capybara/minitest.rb
|
309
|
+
- lib/capybara/minitest/spec.rb
|
227
310
|
- lib/capybara/node/actions.rb
|
228
311
|
- lib/capybara/node/base.rb
|
229
312
|
- lib/capybara/node/document.rb
|
@@ -232,8 +315,12 @@ files:
|
|
232
315
|
- lib/capybara/node/finders.rb
|
233
316
|
- lib/capybara/node/matchers.rb
|
234
317
|
- lib/capybara/node/simple.rb
|
318
|
+
- lib/capybara/queries/ancestor_query.rb
|
235
319
|
- lib/capybara/queries/base_query.rb
|
236
320
|
- lib/capybara/queries/current_path_query.rb
|
321
|
+
- lib/capybara/queries/match_query.rb
|
322
|
+
- lib/capybara/queries/selector_query.rb
|
323
|
+
- lib/capybara/queries/sibling_query.rb
|
237
324
|
- lib/capybara/queries/text_query.rb
|
238
325
|
- lib/capybara/queries/title_query.rb
|
239
326
|
- lib/capybara/query.rb
|
@@ -245,16 +332,27 @@ files:
|
|
245
332
|
- lib/capybara/rails.rb
|
246
333
|
- lib/capybara/result.rb
|
247
334
|
- lib/capybara/rspec.rb
|
335
|
+
- lib/capybara/rspec/compound.rb
|
248
336
|
- lib/capybara/rspec/features.rb
|
337
|
+
- lib/capybara/rspec/matcher_proxies.rb
|
249
338
|
- lib/capybara/rspec/matchers.rb
|
250
339
|
- lib/capybara/selector.rb
|
340
|
+
- lib/capybara/selector/css.rb
|
341
|
+
- lib/capybara/selector/filter.rb
|
342
|
+
- lib/capybara/selector/filter_set.rb
|
343
|
+
- lib/capybara/selector/filters/base.rb
|
344
|
+
- lib/capybara/selector/filters/expression_filter.rb
|
345
|
+
- lib/capybara/selector/filters/node_filter.rb
|
346
|
+
- lib/capybara/selector/selector.rb
|
251
347
|
- lib/capybara/selenium/driver.rb
|
252
348
|
- lib/capybara/selenium/node.rb
|
253
349
|
- lib/capybara/server.rb
|
254
350
|
- lib/capybara/session.rb
|
351
|
+
- lib/capybara/session/config.rb
|
255
352
|
- lib/capybara/session/matchers.rb
|
256
353
|
- lib/capybara/spec/fixtures/another_test_file.txt
|
257
354
|
- lib/capybara/spec/fixtures/capybara.jpg
|
355
|
+
- lib/capybara/spec/fixtures/no_extension
|
258
356
|
- lib/capybara/spec/fixtures/test_file.txt
|
259
357
|
- lib/capybara/spec/public/jquery-ui.js
|
260
358
|
- lib/capybara/spec/public/jquery.js
|
@@ -263,6 +361,8 @@ files:
|
|
263
361
|
- lib/capybara/spec/session/accept_confirm_spec.rb
|
264
362
|
- lib/capybara/spec/session/accept_prompt_spec.rb
|
265
363
|
- lib/capybara/spec/session/all_spec.rb
|
364
|
+
- lib/capybara/spec/session/ancestor_spec.rb
|
365
|
+
- lib/capybara/spec/session/assert_all_of_selectors_spec.rb
|
266
366
|
- lib/capybara/spec/session/assert_current_path.rb
|
267
367
|
- lib/capybara/spec/session/assert_selector.rb
|
268
368
|
- lib/capybara/spec/session/assert_text.rb
|
@@ -278,6 +378,11 @@ files:
|
|
278
378
|
- lib/capybara/spec/session/current_url_spec.rb
|
279
379
|
- lib/capybara/spec/session/dismiss_confirm_spec.rb
|
280
380
|
- lib/capybara/spec/session/dismiss_prompt_spec.rb
|
381
|
+
- lib/capybara/spec/session/element/assert_match_selector.rb
|
382
|
+
- lib/capybara/spec/session/element/match_css_spec.rb
|
383
|
+
- lib/capybara/spec/session/element/match_xpath_spec.rb
|
384
|
+
- lib/capybara/spec/session/element/matches_selector_spec.rb
|
385
|
+
- lib/capybara/spec/session/evaluate_async_script_spec.rb
|
281
386
|
- lib/capybara/spec/session/evaluate_script_spec.rb
|
282
387
|
- lib/capybara/spec/session/execute_script_spec.rb
|
283
388
|
- lib/capybara/spec/session/fill_in_spec.rb
|
@@ -287,13 +392,17 @@ files:
|
|
287
392
|
- lib/capybara/spec/session/find_link_spec.rb
|
288
393
|
- lib/capybara/spec/session/find_spec.rb
|
289
394
|
- lib/capybara/spec/session/first_spec.rb
|
395
|
+
- lib/capybara/spec/session/frame/switch_to_frame_spec.rb
|
396
|
+
- lib/capybara/spec/session/frame/within_frame_spec.rb
|
290
397
|
- lib/capybara/spec/session/go_back_spec.rb
|
291
398
|
- lib/capybara/spec/session/go_forward_spec.rb
|
399
|
+
- lib/capybara/spec/session/has_all_selectors_spec.rb
|
292
400
|
- lib/capybara/spec/session/has_button_spec.rb
|
293
401
|
- lib/capybara/spec/session/has_css_spec.rb
|
294
402
|
- lib/capybara/spec/session/has_current_path_spec.rb
|
295
403
|
- lib/capybara/spec/session/has_field_spec.rb
|
296
404
|
- lib/capybara/spec/session/has_link_spec.rb
|
405
|
+
- lib/capybara/spec/session/has_none_selectors_spec.rb
|
297
406
|
- lib/capybara/spec/session/has_select_spec.rb
|
298
407
|
- lib/capybara/spec/session/has_selector_spec.rb
|
299
408
|
- lib/capybara/spec/session/has_table_spec.rb
|
@@ -303,6 +412,7 @@ files:
|
|
303
412
|
- lib/capybara/spec/session/headers.rb
|
304
413
|
- lib/capybara/spec/session/html_spec.rb
|
305
414
|
- lib/capybara/spec/session/node_spec.rb
|
415
|
+
- lib/capybara/spec/session/refresh_spec.rb
|
306
416
|
- lib/capybara/spec/session/reset_session_spec.rb
|
307
417
|
- lib/capybara/spec/session/response_code.rb
|
308
418
|
- lib/capybara/spec/session/save_and_open_page_spec.rb
|
@@ -311,6 +421,8 @@ files:
|
|
311
421
|
- lib/capybara/spec/session/save_screenshot_spec.rb
|
312
422
|
- lib/capybara/spec/session/screenshot_spec.rb
|
313
423
|
- lib/capybara/spec/session/select_spec.rb
|
424
|
+
- lib/capybara/spec/session/selectors_spec.rb
|
425
|
+
- lib/capybara/spec/session/sibling_spec.rb
|
314
426
|
- lib/capybara/spec/session/source_spec.rb
|
315
427
|
- lib/capybara/spec/session/text_spec.rb
|
316
428
|
- lib/capybara/spec/session/title_spec.rb
|
@@ -325,7 +437,6 @@ files:
|
|
325
437
|
- lib/capybara/spec/session/window/window_spec.rb
|
326
438
|
- lib/capybara/spec/session/window/windows_spec.rb
|
327
439
|
- lib/capybara/spec/session/window/within_window_spec.rb
|
328
|
-
- lib/capybara/spec/session/within_frame_spec.rb
|
329
440
|
- lib/capybara/spec/session/within_spec.rb
|
330
441
|
- lib/capybara/spec/spec_helper.rb
|
331
442
|
- lib/capybara/spec/test_app.rb
|
@@ -338,6 +449,7 @@ files:
|
|
338
449
|
- lib/capybara/spec/views/frame_two.erb
|
339
450
|
- lib/capybara/spec/views/header_links.erb
|
340
451
|
- lib/capybara/spec/views/host_links.erb
|
452
|
+
- lib/capybara/spec/views/initial_alert.erb
|
341
453
|
- lib/capybara/spec/views/path.erb
|
342
454
|
- lib/capybara/spec/views/popup_one.erb
|
343
455
|
- lib/capybara/spec/views/popup_two.erb
|
@@ -345,13 +457,16 @@ files:
|
|
345
457
|
- lib/capybara/spec/views/tables.erb
|
346
458
|
- lib/capybara/spec/views/with_base_tag.erb
|
347
459
|
- lib/capybara/spec/views/with_count.erb
|
460
|
+
- lib/capybara/spec/views/with_fixed_header_footer.erb
|
348
461
|
- lib/capybara/spec/views/with_hover.erb
|
349
462
|
- lib/capybara/spec/views/with_html.erb
|
350
463
|
- lib/capybara/spec/views/with_html_entities.erb
|
351
464
|
- lib/capybara/spec/views/with_js.erb
|
352
465
|
- lib/capybara/spec/views/with_scope.erb
|
353
466
|
- lib/capybara/spec/views/with_simple_html.erb
|
467
|
+
- lib/capybara/spec/views/with_slow_unload.erb
|
354
468
|
- lib/capybara/spec/views/with_title.erb
|
469
|
+
- lib/capybara/spec/views/with_unload_alert.erb
|
355
470
|
- lib/capybara/spec/views/with_windows.erb
|
356
471
|
- lib/capybara/spec/views/within_frames.erb
|
357
472
|
- lib/capybara/version.rb
|
@@ -359,19 +474,30 @@ files:
|
|
359
474
|
- spec/basic_node_spec.rb
|
360
475
|
- spec/capybara_spec.rb
|
361
476
|
- spec/dsl_spec.rb
|
477
|
+
- spec/filter_set_spec.rb
|
478
|
+
- spec/fixtures/capybara.csv
|
362
479
|
- spec/fixtures/selenium_driver_rspec_failure.rb
|
363
480
|
- spec/fixtures/selenium_driver_rspec_success.rb
|
481
|
+
- spec/minitest_spec.rb
|
482
|
+
- spec/minitest_spec_spec.rb
|
483
|
+
- spec/per_session_config_spec.rb
|
364
484
|
- spec/rack_test_spec.rb
|
365
485
|
- spec/result_spec.rb
|
366
486
|
- spec/rspec/features_spec.rb
|
367
|
-
- spec/rspec/
|
487
|
+
- spec/rspec/scenarios_spec.rb
|
488
|
+
- spec/rspec/shared_spec_matchers.rb
|
368
489
|
- spec/rspec/views_spec.rb
|
490
|
+
- spec/rspec_matchers_spec.rb
|
369
491
|
- spec/rspec_spec.rb
|
370
|
-
- spec/
|
492
|
+
- spec/selector_spec.rb
|
371
493
|
- spec/selenium_spec_chrome.rb
|
494
|
+
- spec/selenium_spec_firefox.rb
|
495
|
+
- spec/selenium_spec_marionette.rb
|
372
496
|
- spec/server_spec.rb
|
497
|
+
- spec/session_spec.rb
|
498
|
+
- spec/shared_selenium_session.rb
|
373
499
|
- spec/spec_helper.rb
|
374
|
-
homepage:
|
500
|
+
homepage: https://github.com/teamcapybara/capybara
|
375
501
|
licenses:
|
376
502
|
- MIT
|
377
503
|
metadata: {}
|
@@ -391,10 +517,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
391
517
|
version: '0'
|
392
518
|
requirements: []
|
393
519
|
rubyforge_project:
|
394
|
-
rubygems_version: 2.4
|
520
|
+
rubygems_version: 2.7.4
|
395
521
|
signing_key:
|
396
522
|
specification_version: 4
|
397
523
|
summary: Capybara aims to simplify the process of integration testing Rack applications,
|
398
524
|
such as Rails, Sinatra or Merb
|
399
525
|
test_files: []
|
400
|
-
has_rdoc:
|
data/spec/selenium_spec.rb
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require "selenium-webdriver"
|
3
|
-
|
4
|
-
Capybara.register_driver :selenium_focus do |app|
|
5
|
-
profile = Selenium::WebDriver::Firefox::Profile.new
|
6
|
-
profile["focusmanager.testmode"] = true
|
7
|
-
Capybara::Selenium::Driver.new(app, browser: :firefox, profile: profile)
|
8
|
-
end
|
9
|
-
|
10
|
-
module TestSessions
|
11
|
-
Selenium = Capybara::Session.new(:selenium_focus, TestApp)
|
12
|
-
end
|
13
|
-
|
14
|
-
Capybara::SpecHelper.run_specs TestSessions::Selenium, "selenium", :capybara_skip => [
|
15
|
-
:response_headers,
|
16
|
-
:status_code,
|
17
|
-
:trigger
|
18
|
-
]
|
19
|
-
|
20
|
-
RSpec.describe Capybara::Session do
|
21
|
-
context 'with selenium driver' do
|
22
|
-
before do
|
23
|
-
@session = TestSessions::Selenium
|
24
|
-
end
|
25
|
-
|
26
|
-
describe '#driver' do
|
27
|
-
it "should be a selenium driver" do
|
28
|
-
expect(@session.driver).to be_an_instance_of(Capybara::Selenium::Driver)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe '#mode' do
|
33
|
-
it "should remember the mode" do
|
34
|
-
expect(@session.mode).to eq(:selenium_focus)
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe "#reset!" do
|
39
|
-
it "freshly reset session should not be touched" do
|
40
|
-
@session.instance_variable_set(:@touched, true)
|
41
|
-
@session.reset!
|
42
|
-
expect(@session.instance_variable_get(:@touched)).to eq false
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "exit codes" do
|
47
|
-
before do
|
48
|
-
@current_dir = Dir.getwd
|
49
|
-
Dir.chdir(File.join(File.dirname(__FILE__), '..'))
|
50
|
-
end
|
51
|
-
|
52
|
-
after do
|
53
|
-
Dir.chdir(@current_dir)
|
54
|
-
end
|
55
|
-
|
56
|
-
it "should have return code 1 when running selenium_driver_rspec_failure.rb" do
|
57
|
-
`rspec spec/fixtures/selenium_driver_rspec_failure.rb`
|
58
|
-
expect($?.exitstatus).to be 1
|
59
|
-
end
|
60
|
-
|
61
|
-
it "should have return code 0 when running selenium_driver_rspec_success.rb" do
|
62
|
-
`rspec spec/fixtures/selenium_driver_rspec_success.rb`
|
63
|
-
expect($?.exitstatus).to be 0
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
describe "#accept_alert" do
|
68
|
-
it "supports a blockless mode" do
|
69
|
-
@session.visit('/with_js')
|
70
|
-
@session.click_link('Open alert')
|
71
|
-
@session.accept_alert
|
72
|
-
expect{@session.driver.browser.switch_to.alert}.to raise_error("No alert is present")
|
73
|
-
end
|
74
|
-
end
|
75
|
-
|
76
|
-
context "#fill_in with { :clear => :backspace } fill_option", :requires => [:js] do
|
77
|
-
it 'should fill in a field, replacing an existing value' do
|
78
|
-
@session.visit('/form')
|
79
|
-
@session.fill_in('form_first_name', :with => 'Harry',
|
80
|
-
fill_options: { clear: :backspace} )
|
81
|
-
expect(@session.find(:fillable_field, 'form_first_name').value).to eq('Harry')
|
82
|
-
end
|
83
|
-
|
84
|
-
it 'should only trigger onchange once' do
|
85
|
-
@session.visit('/with_js')
|
86
|
-
@session.fill_in('with_change_event', :with => 'some value',
|
87
|
-
:fill_options => { :clear => :backspace })
|
88
|
-
# click outside the field to trigger the change event
|
89
|
-
@session.find(:css, 'body').click
|
90
|
-
expect(@session.find(:css, '.change_event_triggered', :match => :one)).to have_text 'some value'
|
91
|
-
end
|
92
|
-
|
93
|
-
it 'should trigger change when clearing field' do
|
94
|
-
@session.visit('/with_js')
|
95
|
-
@session.fill_in('with_change_event', :with => '',
|
96
|
-
:fill_options => { :clear => :backspace })
|
97
|
-
# click outside the field to trigger the change event
|
98
|
-
@session.find(:css, 'body').click
|
99
|
-
expect(@session).to have_selector(:css, '.change_event_triggered', :match => :one)
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
describe "#path" do
|
104
|
-
it "returns xpath" do
|
105
|
-
# this is here because it is testing for an XPath that is specific to the algorithm used in the selenium driver
|
106
|
-
@session.visit('/path')
|
107
|
-
element = @session.find(:link, 'Second Link')
|
108
|
-
expect(element.path).to eq('/html/body/div[2]/a[1]')
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
112
|
-
end
|
113
|
-
|
114
|
-
RSpec.describe Capybara::Selenium::Driver do
|
115
|
-
before do
|
116
|
-
@driver = Capybara::Selenium::Driver.new(TestApp, browser: :firefox)
|
117
|
-
end
|
118
|
-
|
119
|
-
describe '#quit' do
|
120
|
-
it "should reset browser when quit" do
|
121
|
-
expect(@driver.browser).to be
|
122
|
-
@driver.quit
|
123
|
-
#access instance variable directly so we don't create a new browser instance
|
124
|
-
expect(@driver.instance_variable_get(:@browser)).to be_nil
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|