capybara 2.5.0 → 2.18.0

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 (205) hide show
  1. checksums.yaml +5 -5
  2. data/.yard/templates_custom/default/class/html/selectors.erb +38 -0
  3. data/.yard/templates_custom/default/class/html/setup.rb +17 -0
  4. data/.yard/yard_extensions.rb +78 -0
  5. data/.yardopts +1 -0
  6. data/History.md +413 -10
  7. data/License.txt +1 -1
  8. data/README.md +237 -130
  9. data/lib/capybara/config.rb +132 -0
  10. data/lib/capybara/cucumber.rb +3 -1
  11. data/lib/capybara/driver/base.rb +27 -6
  12. data/lib/capybara/driver/node.rb +14 -5
  13. data/lib/capybara/dsl.rb +2 -3
  14. data/lib/capybara/helpers.rb +13 -65
  15. data/lib/capybara/minitest/spec.rb +177 -0
  16. data/lib/capybara/minitest.rb +278 -0
  17. data/lib/capybara/node/actions.rb +180 -24
  18. data/lib/capybara/node/base.rb +17 -5
  19. data/lib/capybara/node/document.rb +5 -0
  20. data/lib/capybara/node/document_matchers.rb +15 -14
  21. data/lib/capybara/node/element.rb +55 -7
  22. data/lib/capybara/node/finders.rb +179 -67
  23. data/lib/capybara/node/matchers.rb +301 -105
  24. data/lib/capybara/node/simple.rb +15 -4
  25. data/lib/capybara/queries/ancestor_query.rb +25 -0
  26. data/lib/capybara/queries/base_query.rb +69 -3
  27. data/lib/capybara/queries/current_path_query.rb +17 -8
  28. data/lib/capybara/queries/match_query.rb +19 -0
  29. data/lib/capybara/queries/selector_query.rb +251 -0
  30. data/lib/capybara/queries/sibling_query.rb +25 -0
  31. data/lib/capybara/queries/text_query.rb +67 -16
  32. data/lib/capybara/queries/title_query.rb +4 -2
  33. data/lib/capybara/query.rb +3 -131
  34. data/lib/capybara/rack_test/browser.rb +14 -5
  35. data/lib/capybara/rack_test/css_handlers.rb +1 -0
  36. data/lib/capybara/rack_test/driver.rb +15 -8
  37. data/lib/capybara/rack_test/form.rb +34 -12
  38. data/lib/capybara/rack_test/node.rb +29 -12
  39. data/lib/capybara/rails.rb +3 -3
  40. data/lib/capybara/result.rb +104 -9
  41. data/lib/capybara/rspec/compound.rb +95 -0
  42. data/lib/capybara/rspec/features.rb +17 -6
  43. data/lib/capybara/rspec/matcher_proxies.rb +45 -0
  44. data/lib/capybara/rspec/matchers.rb +199 -80
  45. data/lib/capybara/rspec.rb +4 -2
  46. data/lib/capybara/selector/css.rb +30 -0
  47. data/lib/capybara/selector/filter.rb +20 -0
  48. data/lib/capybara/selector/filter_set.rb +74 -0
  49. data/lib/capybara/selector/filters/base.rb +33 -0
  50. data/lib/capybara/selector/filters/expression_filter.rb +40 -0
  51. data/lib/capybara/selector/filters/node_filter.rb +27 -0
  52. data/lib/capybara/selector/selector.rb +276 -0
  53. data/lib/capybara/selector.rb +452 -157
  54. data/lib/capybara/selenium/driver.rb +282 -81
  55. data/lib/capybara/selenium/node.rb +144 -46
  56. data/lib/capybara/server.rb +59 -16
  57. data/lib/capybara/session/config.rb +114 -0
  58. data/lib/capybara/session/matchers.rb +29 -19
  59. data/lib/capybara/session.rb +378 -143
  60. data/lib/capybara/spec/fixtures/no_extension +1 -0
  61. data/lib/capybara/spec/public/jquery-ui.js +13 -791
  62. data/lib/capybara/spec/public/jquery.js +4 -9045
  63. data/lib/capybara/spec/public/test.js +45 -11
  64. data/lib/capybara/spec/session/accept_alert_spec.rb +30 -7
  65. data/lib/capybara/spec/session/accept_confirm_spec.rb +14 -2
  66. data/lib/capybara/spec/session/accept_prompt_spec.rb +35 -6
  67. data/lib/capybara/spec/session/all_spec.rb +45 -32
  68. data/lib/capybara/spec/session/ancestor_spec.rb +85 -0
  69. data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +110 -0
  70. data/lib/capybara/spec/session/assert_current_path.rb +15 -2
  71. data/lib/capybara/spec/session/assert_selector.rb +29 -28
  72. data/lib/capybara/spec/session/assert_text.rb +59 -20
  73. data/lib/capybara/spec/session/assert_title.rb +25 -11
  74. data/lib/capybara/spec/session/attach_file_spec.rb +42 -4
  75. data/lib/capybara/spec/session/body_spec.rb +1 -0
  76. data/lib/capybara/spec/session/check_spec.rb +90 -14
  77. data/lib/capybara/spec/session/choose_spec.rb +31 -5
  78. data/lib/capybara/spec/session/click_button_spec.rb +20 -9
  79. data/lib/capybara/spec/session/click_link_or_button_spec.rb +15 -9
  80. data/lib/capybara/spec/session/click_link_spec.rb +39 -15
  81. data/lib/capybara/spec/session/current_scope_spec.rb +2 -1
  82. data/lib/capybara/spec/session/current_url_spec.rb +12 -3
  83. data/lib/capybara/spec/session/dismiss_confirm_spec.rb +6 -5
  84. data/lib/capybara/spec/session/dismiss_prompt_spec.rb +4 -3
  85. data/lib/capybara/spec/session/element/assert_match_selector.rb +36 -0
  86. data/lib/capybara/spec/session/element/match_css_spec.rb +23 -0
  87. data/lib/capybara/spec/session/element/match_xpath_spec.rb +23 -0
  88. data/lib/capybara/spec/session/element/matches_selector_spec.rb +106 -0
  89. data/lib/capybara/spec/session/evaluate_async_script_spec.rb +22 -0
  90. data/lib/capybara/spec/session/evaluate_script_spec.rb +23 -1
  91. data/lib/capybara/spec/session/execute_script_spec.rb +22 -3
  92. data/lib/capybara/spec/session/fill_in_spec.rb +50 -32
  93. data/lib/capybara/spec/session/find_button_spec.rb +43 -2
  94. data/lib/capybara/spec/session/find_by_id_spec.rb +3 -2
  95. data/lib/capybara/spec/session/find_field_spec.rb +42 -6
  96. data/lib/capybara/spec/session/find_link_spec.rb +22 -3
  97. data/lib/capybara/spec/session/find_spec.rb +103 -57
  98. data/lib/capybara/spec/session/first_spec.rb +34 -18
  99. data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +103 -0
  100. data/lib/capybara/spec/session/{within_frame_spec.rb → frame/within_frame_spec.rb} +44 -2
  101. data/lib/capybara/spec/session/go_back_spec.rb +2 -1
  102. data/lib/capybara/spec/session/go_forward_spec.rb +2 -1
  103. data/lib/capybara/spec/session/has_all_selectors_spec.rb +69 -0
  104. data/lib/capybara/spec/session/has_button_spec.rb +17 -8
  105. data/lib/capybara/spec/session/has_css_spec.rb +85 -73
  106. data/lib/capybara/spec/session/has_current_path_spec.rb +91 -7
  107. data/lib/capybara/spec/session/has_field_spec.rb +93 -58
  108. data/lib/capybara/spec/session/has_link_spec.rb +9 -8
  109. data/lib/capybara/spec/session/has_none_selectors_spec.rb +76 -0
  110. data/lib/capybara/spec/session/has_select_spec.rb +159 -59
  111. data/lib/capybara/spec/session/has_selector_spec.rb +64 -28
  112. data/lib/capybara/spec/session/has_table_spec.rb +1 -0
  113. data/lib/capybara/spec/session/has_text_spec.rb +27 -12
  114. data/lib/capybara/spec/session/has_title_spec.rb +22 -4
  115. data/lib/capybara/spec/session/has_xpath_spec.rb +32 -29
  116. data/lib/capybara/spec/session/headers.rb +2 -1
  117. data/lib/capybara/spec/session/html_spec.rb +4 -3
  118. data/lib/capybara/spec/session/node_spec.rb +198 -38
  119. data/lib/capybara/spec/session/refresh_spec.rb +28 -0
  120. data/lib/capybara/spec/session/reset_session_spec.rb +46 -5
  121. data/lib/capybara/spec/session/response_code.rb +2 -1
  122. data/lib/capybara/spec/session/save_and_open_page_spec.rb +1 -0
  123. data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +6 -5
  124. data/lib/capybara/spec/session/save_page_spec.rb +34 -2
  125. data/lib/capybara/spec/session/save_screenshot_spec.rb +31 -1
  126. data/lib/capybara/spec/session/screenshot_spec.rb +4 -2
  127. data/lib/capybara/spec/session/select_spec.rb +34 -32
  128. data/lib/capybara/spec/session/selectors_spec.rb +65 -0
  129. data/lib/capybara/spec/session/sibling_spec.rb +52 -0
  130. data/lib/capybara/spec/session/text_spec.rb +4 -4
  131. data/lib/capybara/spec/session/title_spec.rb +2 -1
  132. data/lib/capybara/spec/session/uncheck_spec.rb +42 -2
  133. data/lib/capybara/spec/session/unselect_spec.rb +17 -16
  134. data/lib/capybara/spec/session/visit_spec.rb +77 -2
  135. data/lib/capybara/spec/session/window/become_closed_spec.rb +12 -11
  136. data/lib/capybara/spec/session/window/current_window_spec.rb +1 -0
  137. data/lib/capybara/spec/session/window/open_new_window_spec.rb +1 -0
  138. data/lib/capybara/spec/session/window/switch_to_window_spec.rb +16 -11
  139. data/lib/capybara/spec/session/window/window_opened_by_spec.rb +7 -4
  140. data/lib/capybara/spec/session/window/window_spec.rb +36 -29
  141. data/lib/capybara/spec/session/window/windows_spec.rb +1 -0
  142. data/lib/capybara/spec/session/window/within_window_spec.rb +31 -7
  143. data/lib/capybara/spec/session/within_spec.rb +14 -6
  144. data/lib/capybara/spec/spec_helper.rb +37 -4
  145. data/lib/capybara/spec/test_app.rb +15 -3
  146. data/lib/capybara/spec/views/buttons.erb +1 -0
  147. data/lib/capybara/spec/views/fieldsets.erb +2 -1
  148. data/lib/capybara/spec/views/form.erb +169 -9
  149. data/lib/capybara/spec/views/frame_child.erb +10 -2
  150. data/lib/capybara/spec/views/frame_one.erb +2 -1
  151. data/lib/capybara/spec/views/frame_parent.erb +3 -2
  152. data/lib/capybara/spec/views/frame_two.erb +2 -1
  153. data/lib/capybara/spec/views/header_links.erb +1 -0
  154. data/lib/capybara/spec/views/host_links.erb +1 -0
  155. data/lib/capybara/spec/views/initial_alert.erb +10 -0
  156. data/lib/capybara/spec/views/path.erb +1 -0
  157. data/lib/capybara/spec/views/popup_one.erb +1 -0
  158. data/lib/capybara/spec/views/popup_two.erb +1 -0
  159. data/lib/capybara/spec/views/postback.erb +2 -1
  160. data/lib/capybara/spec/views/tables.erb +1 -0
  161. data/lib/capybara/spec/views/with_base_tag.erb +1 -0
  162. data/lib/capybara/spec/views/with_count.erb +2 -1
  163. data/lib/capybara/spec/views/with_fixed_header_footer.erb +17 -0
  164. data/lib/capybara/spec/views/with_hover.erb +7 -1
  165. data/lib/capybara/spec/views/with_html.erb +40 -2
  166. data/lib/capybara/spec/views/with_html_entities.erb +1 -0
  167. data/lib/capybara/spec/views/with_js.erb +32 -1
  168. data/lib/capybara/spec/views/with_scope.erb +1 -0
  169. data/lib/capybara/spec/views/with_simple_html.erb +2 -1
  170. data/lib/capybara/spec/views/with_slow_unload.erb +17 -0
  171. data/lib/capybara/spec/views/with_title.erb +2 -1
  172. data/lib/capybara/spec/views/with_unload_alert.erb +14 -0
  173. data/lib/capybara/spec/views/with_windows.erb +7 -0
  174. data/lib/capybara/spec/views/within_frames.erb +3 -2
  175. data/lib/capybara/version.rb +2 -1
  176. data/lib/capybara/window.rb +20 -3
  177. data/lib/capybara.rb +189 -93
  178. data/spec/basic_node_spec.rb +7 -6
  179. data/spec/capybara_spec.rb +90 -4
  180. data/spec/dsl_spec.rb +3 -1
  181. data/spec/filter_set_spec.rb +28 -0
  182. data/spec/fixtures/capybara.csv +1 -0
  183. data/spec/fixtures/selenium_driver_rspec_failure.rb +5 -1
  184. data/spec/fixtures/selenium_driver_rspec_success.rb +5 -1
  185. data/spec/minitest_spec.rb +130 -0
  186. data/spec/minitest_spec_spec.rb +135 -0
  187. data/spec/per_session_config_spec.rb +67 -0
  188. data/spec/rack_test_spec.rb +50 -7
  189. data/spec/result_spec.rb +76 -0
  190. data/spec/rspec/features_spec.rb +21 -8
  191. data/spec/rspec/scenarios_spec.rb +21 -0
  192. data/spec/rspec/{matchers_spec.rb → shared_spec_matchers.rb} +160 -54
  193. data/spec/rspec/views_spec.rb +5 -0
  194. data/spec/rspec_matchers_spec.rb +46 -0
  195. data/spec/rspec_spec.rb +79 -1
  196. data/spec/selector_spec.rb +199 -0
  197. data/spec/selenium_spec_chrome.rb +54 -9
  198. data/spec/selenium_spec_firefox.rb +68 -0
  199. data/spec/selenium_spec_marionette.rb +127 -0
  200. data/spec/server_spec.rb +102 -14
  201. data/spec/session_spec.rb +54 -0
  202. data/spec/shared_selenium_session.rb +215 -0
  203. data/spec/spec_helper.rb +7 -0
  204. metadata +140 -15
  205. 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.5.0
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: 2015-08-26 00:00:00.000000000 Z
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: mime-types
30
+ name: mini_mime
30
31
  requirement: !ruby/object:Gem::Requirement
31
32
  requirements:
32
33
  - - ">="
33
34
  - !ruby/object:Gem::Version
34
- version: '1.16'
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: '1.16'
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/matchers_spec.rb
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/selenium_spec.rb
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: http://github.com/jnicklas/capybara
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.5.1
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:
@@ -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
-