capybara 2.5.0 → 2.18.0

Sign up to get free protection for your applications and to get access to all the features.
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
-