capybara 3.13.2 → 3.40.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 (260) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -0
  3. data/History.md +587 -16
  4. data/README.md +240 -90
  5. data/lib/capybara/config.rb +24 -11
  6. data/lib/capybara/cucumber.rb +1 -1
  7. data/lib/capybara/driver/base.rb +8 -0
  8. data/lib/capybara/driver/node.rb +20 -4
  9. data/lib/capybara/dsl.rb +5 -3
  10. data/lib/capybara/helpers.rb +25 -4
  11. data/lib/capybara/minitest/spec.rb +174 -90
  12. data/lib/capybara/minitest.rb +256 -142
  13. data/lib/capybara/node/actions.rb +123 -77
  14. data/lib/capybara/node/base.rb +20 -12
  15. data/lib/capybara/node/document.rb +2 -2
  16. data/lib/capybara/node/document_matchers.rb +3 -3
  17. data/lib/capybara/node/element.rb +223 -117
  18. data/lib/capybara/node/finders.rb +81 -71
  19. data/lib/capybara/node/matchers.rb +271 -134
  20. data/lib/capybara/node/simple.rb +18 -5
  21. data/lib/capybara/node/whitespace_normalizer.rb +81 -0
  22. data/lib/capybara/queries/active_element_query.rb +18 -0
  23. data/lib/capybara/queries/ancestor_query.rb +8 -9
  24. data/lib/capybara/queries/base_query.rb +3 -2
  25. data/lib/capybara/queries/current_path_query.rb +15 -5
  26. data/lib/capybara/queries/selector_query.rb +364 -54
  27. data/lib/capybara/queries/sibling_query.rb +8 -6
  28. data/lib/capybara/queries/style_query.rb +2 -2
  29. data/lib/capybara/queries/text_query.rb +13 -1
  30. data/lib/capybara/queries/title_query.rb +1 -1
  31. data/lib/capybara/rack_test/browser.rb +76 -11
  32. data/lib/capybara/rack_test/driver.rb +10 -5
  33. data/lib/capybara/rack_test/errors.rb +6 -0
  34. data/lib/capybara/rack_test/form.rb +31 -9
  35. data/lib/capybara/rack_test/node.rb +74 -23
  36. data/lib/capybara/registration_container.rb +41 -0
  37. data/lib/capybara/registrations/drivers.rb +42 -0
  38. data/lib/capybara/registrations/patches/puma_ssl.rb +29 -0
  39. data/lib/capybara/registrations/servers.rb +66 -0
  40. data/lib/capybara/result.rb +44 -20
  41. data/lib/capybara/rspec/matcher_proxies.rb +13 -11
  42. data/lib/capybara/rspec/matchers/base.rb +31 -16
  43. data/lib/capybara/rspec/matchers/compound.rb +1 -1
  44. data/lib/capybara/rspec/matchers/count_sugar.rb +37 -0
  45. data/lib/capybara/rspec/matchers/have_ancestor.rb +28 -0
  46. data/lib/capybara/rspec/matchers/have_current_path.rb +2 -2
  47. data/lib/capybara/rspec/matchers/have_selector.rb +21 -21
  48. data/lib/capybara/rspec/matchers/have_sibling.rb +27 -0
  49. data/lib/capybara/rspec/matchers/have_text.rb +4 -4
  50. data/lib/capybara/rspec/matchers/have_title.rb +2 -2
  51. data/lib/capybara/rspec/matchers/match_selector.rb +3 -3
  52. data/lib/capybara/rspec/matchers/match_style.rb +7 -2
  53. data/lib/capybara/rspec/matchers/spatial_sugar.rb +39 -0
  54. data/lib/capybara/rspec/matchers.rb +111 -68
  55. data/lib/capybara/rspec.rb +2 -0
  56. data/lib/capybara/selector/builders/css_builder.rb +11 -7
  57. data/lib/capybara/selector/builders/xpath_builder.rb +5 -3
  58. data/lib/capybara/selector/css.rb +11 -9
  59. data/lib/capybara/selector/definition/button.rb +68 -0
  60. data/lib/capybara/selector/definition/checkbox.rb +26 -0
  61. data/lib/capybara/selector/definition/css.rb +10 -0
  62. data/lib/capybara/selector/definition/datalist_input.rb +35 -0
  63. data/lib/capybara/selector/definition/datalist_option.rb +25 -0
  64. data/lib/capybara/selector/definition/element.rb +28 -0
  65. data/lib/capybara/selector/definition/field.rb +40 -0
  66. data/lib/capybara/selector/definition/fieldset.rb +14 -0
  67. data/lib/capybara/selector/definition/file_field.rb +13 -0
  68. data/lib/capybara/selector/definition/fillable_field.rb +33 -0
  69. data/lib/capybara/selector/definition/frame.rb +17 -0
  70. data/lib/capybara/selector/definition/id.rb +6 -0
  71. data/lib/capybara/selector/definition/label.rb +62 -0
  72. data/lib/capybara/selector/definition/link.rb +55 -0
  73. data/lib/capybara/selector/definition/link_or_button.rb +16 -0
  74. data/lib/capybara/selector/definition/option.rb +27 -0
  75. data/lib/capybara/selector/definition/radio_button.rb +27 -0
  76. data/lib/capybara/selector/definition/select.rb +81 -0
  77. data/lib/capybara/selector/definition/table.rb +109 -0
  78. data/lib/capybara/selector/definition/table_row.rb +21 -0
  79. data/lib/capybara/selector/definition/xpath.rb +5 -0
  80. data/lib/capybara/selector/definition.rb +280 -0
  81. data/lib/capybara/selector/filter_set.rb +19 -18
  82. data/lib/capybara/selector/filters/base.rb +11 -2
  83. data/lib/capybara/selector/filters/locator_filter.rb +13 -3
  84. data/lib/capybara/selector/regexp_disassembler.rb +11 -7
  85. data/lib/capybara/selector/selector.rb +50 -440
  86. data/lib/capybara/selector/xpath_extensions.rb +17 -0
  87. data/lib/capybara/selector.rb +473 -482
  88. data/lib/capybara/selenium/atoms/getAttribute.min.js +1 -0
  89. data/lib/capybara/selenium/atoms/isDisplayed.min.js +1 -0
  90. data/lib/capybara/selenium/atoms/src/getAttribute.js +161 -0
  91. data/lib/capybara/selenium/atoms/src/isDisplayed.js +454 -0
  92. data/lib/capybara/selenium/driver.rb +174 -62
  93. data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +74 -18
  94. data/lib/capybara/selenium/driver_specializations/edge_driver.rb +128 -0
  95. data/lib/capybara/selenium/driver_specializations/firefox_driver.rb +37 -3
  96. data/lib/capybara/selenium/driver_specializations/internet_explorer_driver.rb +14 -1
  97. data/lib/capybara/selenium/driver_specializations/safari_driver.rb +24 -0
  98. data/lib/capybara/selenium/extensions/file_input_click_emulation.rb +34 -0
  99. data/lib/capybara/selenium/extensions/find.rb +68 -45
  100. data/lib/capybara/selenium/extensions/html5_drag.rb +192 -22
  101. data/lib/capybara/selenium/extensions/modifier_keys_stack.rb +28 -0
  102. data/lib/capybara/selenium/extensions/scroll.rb +8 -10
  103. data/lib/capybara/selenium/node.rb +268 -72
  104. data/lib/capybara/selenium/nodes/chrome_node.rb +105 -9
  105. data/lib/capybara/selenium/nodes/edge_node.rb +110 -0
  106. data/lib/capybara/selenium/nodes/firefox_node.rb +51 -61
  107. data/lib/capybara/selenium/nodes/ie_node.rb +22 -0
  108. data/lib/capybara/selenium/nodes/safari_node.rb +118 -0
  109. data/lib/capybara/selenium/patches/atoms.rb +18 -0
  110. data/lib/capybara/selenium/patches/is_displayed.rb +16 -0
  111. data/lib/capybara/selenium/patches/logs.rb +45 -0
  112. data/lib/capybara/selenium/patches/pause_duration_fix.rb +1 -1
  113. data/lib/capybara/selenium/patches/persistent_client.rb +20 -0
  114. data/lib/capybara/server/animation_disabler.rb +43 -21
  115. data/lib/capybara/server/checker.rb +6 -2
  116. data/lib/capybara/server/middleware.rb +25 -13
  117. data/lib/capybara/server.rb +20 -4
  118. data/lib/capybara/session/config.rb +15 -11
  119. data/lib/capybara/session/matchers.rb +11 -11
  120. data/lib/capybara/session.rb +162 -131
  121. data/lib/capybara/spec/public/offset.js +6 -0
  122. data/lib/capybara/spec/public/test.js +105 -6
  123. data/lib/capybara/spec/session/accept_alert_spec.rb +1 -1
  124. data/lib/capybara/spec/session/active_element_spec.rb +31 -0
  125. data/lib/capybara/spec/session/all_spec.rb +89 -15
  126. data/lib/capybara/spec/session/ancestor_spec.rb +5 -0
  127. data/lib/capybara/spec/session/assert_current_path_spec.rb +5 -2
  128. data/lib/capybara/spec/session/assert_text_spec.rb +26 -22
  129. data/lib/capybara/spec/session/attach_file_spec.rb +64 -31
  130. data/lib/capybara/spec/session/check_spec.rb +26 -4
  131. data/lib/capybara/spec/session/choose_spec.rb +14 -2
  132. data/lib/capybara/spec/session/click_button_spec.rb +109 -61
  133. data/lib/capybara/spec/session/click_link_or_button_spec.rb +9 -0
  134. data/lib/capybara/spec/session/click_link_spec.rb +23 -1
  135. data/lib/capybara/spec/session/current_scope_spec.rb +1 -1
  136. data/lib/capybara/spec/session/current_url_spec.rb +11 -1
  137. data/lib/capybara/spec/session/element/matches_selector_spec.rb +40 -39
  138. data/lib/capybara/spec/session/evaluate_script_spec.rb +12 -0
  139. data/lib/capybara/spec/session/fill_in_spec.rb +46 -5
  140. data/lib/capybara/spec/session/find_link_spec.rb +10 -0
  141. data/lib/capybara/spec/session/find_spec.rb +80 -7
  142. data/lib/capybara/spec/session/first_spec.rb +2 -2
  143. data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +14 -1
  144. data/lib/capybara/spec/session/frame/within_frame_spec.rb +14 -1
  145. data/lib/capybara/spec/session/has_all_selectors_spec.rb +5 -5
  146. data/lib/capybara/spec/session/has_ancestor_spec.rb +46 -0
  147. data/lib/capybara/spec/session/has_any_selectors_spec.rb +6 -2
  148. data/lib/capybara/spec/session/has_button_spec.rb +81 -0
  149. data/lib/capybara/spec/session/has_css_spec.rb +45 -8
  150. data/lib/capybara/spec/session/has_current_path_spec.rb +22 -7
  151. data/lib/capybara/spec/session/has_element_spec.rb +47 -0
  152. data/lib/capybara/spec/session/has_field_spec.rb +59 -1
  153. data/lib/capybara/spec/session/has_link_spec.rb +40 -0
  154. data/lib/capybara/spec/session/has_none_selectors_spec.rb +7 -7
  155. data/lib/capybara/spec/session/has_select_spec.rb +42 -8
  156. data/lib/capybara/spec/session/has_selector_spec.rb +19 -4
  157. data/lib/capybara/spec/session/has_sibling_spec.rb +50 -0
  158. data/lib/capybara/spec/session/has_table_spec.rb +177 -0
  159. data/lib/capybara/spec/session/has_text_spec.rb +31 -3
  160. data/lib/capybara/spec/session/html_spec.rb +1 -1
  161. data/lib/capybara/spec/session/matches_style_spec.rb +6 -4
  162. data/lib/capybara/spec/session/node_spec.rb +697 -23
  163. data/lib/capybara/spec/session/node_wrapper_spec.rb +1 -1
  164. data/lib/capybara/spec/session/refresh_spec.rb +2 -1
  165. data/lib/capybara/spec/session/reset_session_spec.rb +21 -7
  166. data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +2 -2
  167. data/lib/capybara/spec/session/save_page_spec.rb +4 -4
  168. data/lib/capybara/spec/session/save_screenshot_spec.rb +4 -4
  169. data/lib/capybara/spec/session/scroll_spec.rb +9 -7
  170. data/lib/capybara/spec/session/select_spec.rb +5 -10
  171. data/lib/capybara/spec/session/selectors_spec.rb +24 -3
  172. data/lib/capybara/spec/session/uncheck_spec.rb +3 -3
  173. data/lib/capybara/spec/session/unselect_spec.rb +1 -1
  174. data/lib/capybara/spec/session/visit_spec.rb +20 -0
  175. data/lib/capybara/spec/session/window/become_closed_spec.rb +20 -17
  176. data/lib/capybara/spec/session/window/switch_to_window_spec.rb +1 -1
  177. data/lib/capybara/spec/session/window/window_opened_by_spec.rb +1 -1
  178. data/lib/capybara/spec/session/window/window_spec.rb +54 -57
  179. data/lib/capybara/spec/session/window/windows_spec.rb +2 -2
  180. data/lib/capybara/spec/session/within_spec.rb +36 -0
  181. data/lib/capybara/spec/spec_helper.rb +30 -19
  182. data/lib/capybara/spec/test_app.rb +122 -34
  183. data/lib/capybara/spec/views/animated.erb +49 -0
  184. data/lib/capybara/spec/views/form.erb +86 -8
  185. data/lib/capybara/spec/views/frame_child.erb +3 -2
  186. data/lib/capybara/spec/views/frame_one.erb +2 -1
  187. data/lib/capybara/spec/views/frame_parent.erb +1 -1
  188. data/lib/capybara/spec/views/frame_two.erb +1 -1
  189. data/lib/capybara/spec/views/initial_alert.erb +2 -1
  190. data/lib/capybara/spec/views/layout.erb +10 -0
  191. data/lib/capybara/spec/views/obscured.erb +10 -10
  192. data/lib/capybara/spec/views/offset.erb +33 -0
  193. data/lib/capybara/spec/views/path.erb +2 -2
  194. data/lib/capybara/spec/views/popup_one.erb +1 -1
  195. data/lib/capybara/spec/views/popup_two.erb +1 -1
  196. data/lib/capybara/spec/views/react.erb +45 -0
  197. data/lib/capybara/spec/views/scroll.erb +2 -1
  198. data/lib/capybara/spec/views/spatial.erb +31 -0
  199. data/lib/capybara/spec/views/tables.erb +67 -0
  200. data/lib/capybara/spec/views/with_animation.erb +39 -4
  201. data/lib/capybara/spec/views/with_base_tag.erb +2 -2
  202. data/lib/capybara/spec/views/with_dragula.erb +24 -0
  203. data/lib/capybara/spec/views/with_fixed_header_footer.erb +2 -1
  204. data/lib/capybara/spec/views/with_hover.erb +3 -2
  205. data/lib/capybara/spec/views/with_hover1.erb +10 -0
  206. data/lib/capybara/spec/views/with_html.erb +34 -6
  207. data/lib/capybara/spec/views/with_jquery_animation.erb +24 -0
  208. data/lib/capybara/spec/views/with_js.erb +7 -4
  209. data/lib/capybara/spec/views/with_jstree.erb +26 -0
  210. data/lib/capybara/spec/views/with_namespace.erb +1 -0
  211. data/lib/capybara/spec/views/with_scope.erb +2 -2
  212. data/lib/capybara/spec/views/with_scope_other.erb +6 -0
  213. data/lib/capybara/spec/views/with_shadow.erb +31 -0
  214. data/lib/capybara/spec/views/with_slow_unload.erb +2 -1
  215. data/lib/capybara/spec/views/with_sortable_js.erb +21 -0
  216. data/lib/capybara/spec/views/with_unload_alert.erb +1 -0
  217. data/lib/capybara/spec/views/with_windows.erb +1 -1
  218. data/lib/capybara/spec/views/within_frames.erb +1 -1
  219. data/lib/capybara/version.rb +1 -1
  220. data/lib/capybara/window.rb +14 -18
  221. data/lib/capybara.rb +91 -126
  222. data/spec/basic_node_spec.rb +30 -16
  223. data/spec/capybara_spec.rb +40 -28
  224. data/spec/counter_spec.rb +35 -0
  225. data/spec/css_builder_spec.rb +3 -1
  226. data/spec/css_splitter_spec.rb +1 -1
  227. data/spec/dsl_spec.rb +33 -22
  228. data/spec/filter_set_spec.rb +5 -5
  229. data/spec/fixtures/selenium_driver_rspec_failure.rb +3 -3
  230. data/spec/fixtures/selenium_driver_rspec_success.rb +3 -3
  231. data/spec/minitest_spec.rb +24 -2
  232. data/spec/minitest_spec_spec.rb +60 -45
  233. data/spec/per_session_config_spec.rb +1 -1
  234. data/spec/rack_test_spec.rb +131 -98
  235. data/spec/regexp_dissassembler_spec.rb +53 -39
  236. data/spec/result_spec.rb +68 -66
  237. data/spec/rspec/features_spec.rb +9 -4
  238. data/spec/rspec/scenarios_spec.rb +6 -2
  239. data/spec/rspec/shared_spec_matchers.rb +137 -98
  240. data/spec/rspec_matchers_spec.rb +25 -0
  241. data/spec/rspec_spec.rb +23 -21
  242. data/spec/sauce_spec_chrome.rb +43 -0
  243. data/spec/selector_spec.rb +77 -21
  244. data/spec/selenium_spec_chrome.rb +141 -39
  245. data/spec/selenium_spec_chrome_remote.rb +32 -17
  246. data/spec/selenium_spec_edge.rb +36 -8
  247. data/spec/selenium_spec_firefox.rb +110 -68
  248. data/spec/selenium_spec_firefox_remote.rb +22 -15
  249. data/spec/selenium_spec_ie.rb +29 -22
  250. data/spec/selenium_spec_safari.rb +162 -0
  251. data/spec/server_spec.rb +153 -81
  252. data/spec/session_spec.rb +11 -4
  253. data/spec/shared_selenium_node.rb +79 -0
  254. data/spec/shared_selenium_session.rb +179 -74
  255. data/spec/spec_helper.rb +80 -5
  256. data/spec/whitespace_normalizer_spec.rb +54 -0
  257. data/spec/xpath_builder_spec.rb +3 -1
  258. metadata +218 -30
  259. data/lib/capybara/spec/session/source_spec.rb +0 -0
  260. data/lib/capybara/spec/views/with_title.erb +0 -5
metadata CHANGED
@@ -1,16 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.13.2
4
+ version: 3.40.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Walpole
8
8
  - Jonas Nicklas
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
- cert_chain:
12
- - gem-public_cert.pem
13
- date: 2019-01-24 00:00:00.000000000 Z
11
+ cert_chain: []
12
+ date: 2024-01-27 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: addressable
@@ -26,6 +25,20 @@ dependencies:
26
25
  - - ">="
27
26
  - !ruby/object:Gem::Version
28
27
  version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: matrix
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
29
42
  - !ruby/object:Gem::Dependency
30
43
  name: mini_mime
31
44
  requirement: !ruby/object:Gem::Requirement
@@ -46,14 +59,14 @@ dependencies:
46
59
  requirements:
47
60
  - - "~>"
48
61
  - !ruby/object:Gem::Version
49
- version: '1.8'
62
+ version: '1.11'
50
63
  type: :runtime
51
64
  prerelease: false
52
65
  version_requirements: !ruby/object:Gem::Requirement
53
66
  requirements:
54
67
  - - "~>"
55
68
  - !ruby/object:Gem::Version
56
- version: '1.8'
69
+ version: '1.11'
57
70
  - !ruby/object:Gem::Dependency
58
71
  name: rack
59
72
  requirement: !ruby/object:Gem::Requirement
@@ -86,16 +99,22 @@ dependencies:
86
99
  name: regexp_parser
87
100
  requirement: !ruby/object:Gem::Requirement
88
101
  requirements:
89
- - - "~>"
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '1.5'
105
+ - - "<"
90
106
  - !ruby/object:Gem::Version
91
- version: '1.2'
107
+ version: '3.0'
92
108
  type: :runtime
93
109
  prerelease: false
94
110
  version_requirements: !ruby/object:Gem::Requirement
95
111
  requirements:
96
- - - "~>"
112
+ - - ">="
97
113
  - !ruby/object:Gem::Version
98
- version: '1.2'
114
+ version: '1.5'
115
+ - - "<"
116
+ - !ruby/object:Gem::Version
117
+ version: '3.0'
99
118
  - !ruby/object:Gem::Dependency
100
119
  name: xpath
101
120
  requirement: !ruby/object:Gem::Requirement
@@ -125,47 +144,47 @@ dependencies:
125
144
  - !ruby/object:Gem::Version
126
145
  version: '0'
127
146
  - !ruby/object:Gem::Dependency
128
- name: cucumber
147
+ name: coveralls
129
148
  requirement: !ruby/object:Gem::Requirement
130
149
  requirements:
131
150
  - - ">="
132
151
  - !ruby/object:Gem::Version
133
- version: 2.3.0
152
+ version: '0'
134
153
  type: :development
135
154
  prerelease: false
136
155
  version_requirements: !ruby/object:Gem::Requirement
137
156
  requirements:
138
157
  - - ">="
139
158
  - !ruby/object:Gem::Version
140
- version: 2.3.0
159
+ version: '0'
141
160
  - !ruby/object:Gem::Dependency
142
- name: erubi
161
+ name: cucumber
143
162
  requirement: !ruby/object:Gem::Requirement
144
163
  requirements:
145
164
  - - ">="
146
165
  - !ruby/object:Gem::Version
147
- version: '0'
166
+ version: 2.3.0
148
167
  type: :development
149
168
  prerelease: false
150
169
  version_requirements: !ruby/object:Gem::Requirement
151
170
  requirements:
152
171
  - - ">="
153
172
  - !ruby/object:Gem::Version
154
- version: '0'
173
+ version: 2.3.0
155
174
  - !ruby/object:Gem::Dependency
156
- name: fuubar
175
+ name: erubi
157
176
  requirement: !ruby/object:Gem::Requirement
158
177
  requirements:
159
178
  - - ">="
160
179
  - !ruby/object:Gem::Version
161
- version: 1.0.0
180
+ version: '0'
162
181
  type: :development
163
182
  prerelease: false
164
183
  version_requirements: !ruby/object:Gem::Requirement
165
184
  requirements:
166
185
  - - ">="
167
186
  - !ruby/object:Gem::Version
168
- version: 1.0.0
187
+ version: '0'
169
188
  - !ruby/object:Gem::Dependency
170
189
  name: irb
171
190
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +241,20 @@ dependencies:
222
241
  - - ">="
223
242
  - !ruby/object:Gem::Version
224
243
  version: '0'
244
+ - !ruby/object:Gem::Dependency
245
+ name: rackup
246
+ requirement: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - ">="
249
+ - !ruby/object:Gem::Version
250
+ version: '0'
251
+ type: :development
252
+ prerelease: false
253
+ version_requirements: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
225
258
  - !ruby/object:Gem::Dependency
226
259
  name: rake
227
260
  requirement: !ruby/object:Gem::Requirement
@@ -250,8 +283,36 @@ dependencies:
250
283
  - - ">="
251
284
  - !ruby/object:Gem::Version
252
285
  version: 3.5.0
286
+ - !ruby/object:Gem::Dependency
287
+ name: rspec-instafail
288
+ requirement: !ruby/object:Gem::Requirement
289
+ requirements:
290
+ - - ">="
291
+ - !ruby/object:Gem::Version
292
+ version: '0'
293
+ type: :development
294
+ prerelease: false
295
+ version_requirements: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0'
253
300
  - !ruby/object:Gem::Dependency
254
301
  name: rubocop
302
+ requirement: !ruby/object:Gem::Requirement
303
+ requirements:
304
+ - - "~>"
305
+ - !ruby/object:Gem::Version
306
+ version: '1.1'
307
+ type: :development
308
+ prerelease: false
309
+ version_requirements: !ruby/object:Gem::Requirement
310
+ requirements:
311
+ - - "~>"
312
+ - !ruby/object:Gem::Version
313
+ version: '1.1'
314
+ - !ruby/object:Gem::Dependency
315
+ name: rubocop-minitest
255
316
  requirement: !ruby/object:Gem::Requirement
256
317
  requirements:
257
318
  - - ">="
@@ -265,7 +326,7 @@ dependencies:
265
326
  - !ruby/object:Gem::Version
266
327
  version: '0'
267
328
  - !ruby/object:Gem::Dependency
268
- name: rubocop-rspec
329
+ name: rubocop-performance
269
330
  requirement: !ruby/object:Gem::Requirement
270
331
  requirements:
271
332
  - - ">="
@@ -279,19 +340,47 @@ dependencies:
279
340
  - !ruby/object:Gem::Version
280
341
  version: '0'
281
342
  - !ruby/object:Gem::Dependency
282
- name: selenium-webdriver
343
+ name: rubocop-rake
344
+ requirement: !ruby/object:Gem::Requirement
345
+ requirements:
346
+ - - ">="
347
+ - !ruby/object:Gem::Version
348
+ version: '0'
349
+ type: :development
350
+ prerelease: false
351
+ version_requirements: !ruby/object:Gem::Requirement
352
+ requirements:
353
+ - - ">="
354
+ - !ruby/object:Gem::Version
355
+ version: '0'
356
+ - !ruby/object:Gem::Dependency
357
+ name: rubocop-rspec
283
358
  requirement: !ruby/object:Gem::Requirement
284
359
  requirements:
285
360
  - - "~>"
286
361
  - !ruby/object:Gem::Version
287
- version: '3.5'
362
+ version: '2.0'
288
363
  type: :development
289
364
  prerelease: false
290
365
  version_requirements: !ruby/object:Gem::Requirement
291
366
  requirements:
292
367
  - - "~>"
293
368
  - !ruby/object:Gem::Version
294
- version: '3.5'
369
+ version: '2.0'
370
+ - !ruby/object:Gem::Dependency
371
+ name: sauce_whisk
372
+ requirement: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
377
+ type: :development
378
+ prerelease: false
379
+ version_requirements: !ruby/object:Gem::Requirement
380
+ requirements:
381
+ - - ">="
382
+ - !ruby/object:Gem::Version
383
+ version: '0'
295
384
  - !ruby/object:Gem::Dependency
296
385
  name: selenium_statistics
297
386
  requirement: !ruby/object:Gem::Requirement
@@ -306,6 +395,20 @@ dependencies:
306
395
  - - ">="
307
396
  - !ruby/object:Gem::Version
308
397
  version: '0'
398
+ - !ruby/object:Gem::Dependency
399
+ name: selenium-webdriver
400
+ requirement: !ruby/object:Gem::Requirement
401
+ requirements:
402
+ - - "~>"
403
+ - !ruby/object:Gem::Version
404
+ version: '4.8'
405
+ type: :development
406
+ prerelease: false
407
+ version_requirements: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - "~>"
410
+ - !ruby/object:Gem::Version
411
+ version: '4.8'
309
412
  - !ruby/object:Gem::Dependency
310
413
  name: sinatra
311
414
  requirement: !ruby/object:Gem::Requirement
@@ -320,6 +423,20 @@ dependencies:
320
423
  - - ">="
321
424
  - !ruby/object:Gem::Version
322
425
  version: 1.4.0
426
+ - !ruby/object:Gem::Dependency
427
+ name: uglifier
428
+ requirement: !ruby/object:Gem::Requirement
429
+ requirements:
430
+ - - ">="
431
+ - !ruby/object:Gem::Version
432
+ version: '0'
433
+ type: :development
434
+ prerelease: false
435
+ version_requirements: !ruby/object:Gem::Requirement
436
+ requirements:
437
+ - - ">="
438
+ - !ruby/object:Gem::Version
439
+ version: '0'
323
440
  - !ruby/object:Gem::Dependency
324
441
  name: yard
325
442
  requirement: !ruby/object:Gem::Requirement
@@ -343,6 +460,7 @@ executables: []
343
460
  extensions: []
344
461
  extra_rdoc_files: []
345
462
  files:
463
+ - ".yardopts"
346
464
  - History.md
347
465
  - License.txt
348
466
  - README.md
@@ -363,6 +481,8 @@ files:
363
481
  - lib/capybara/node/finders.rb
364
482
  - lib/capybara/node/matchers.rb
365
483
  - lib/capybara/node/simple.rb
484
+ - lib/capybara/node/whitespace_normalizer.rb
485
+ - lib/capybara/queries/active_element_query.rb
366
486
  - lib/capybara/queries/ancestor_query.rb
367
487
  - lib/capybara/queries/base_query.rb
368
488
  - lib/capybara/queries/current_path_query.rb
@@ -375,9 +495,14 @@ files:
375
495
  - lib/capybara/rack_test/browser.rb
376
496
  - lib/capybara/rack_test/css_handlers.rb
377
497
  - lib/capybara/rack_test/driver.rb
498
+ - lib/capybara/rack_test/errors.rb
378
499
  - lib/capybara/rack_test/form.rb
379
500
  - lib/capybara/rack_test/node.rb
380
501
  - lib/capybara/rails.rb
502
+ - lib/capybara/registration_container.rb
503
+ - lib/capybara/registrations/drivers.rb
504
+ - lib/capybara/registrations/patches/puma_ssl.rb
505
+ - lib/capybara/registrations/servers.rb
381
506
  - lib/capybara/result.rb
382
507
  - lib/capybara/rspec.rb
383
508
  - lib/capybara/rspec/features.rb
@@ -386,16 +511,42 @@ files:
386
511
  - lib/capybara/rspec/matchers/base.rb
387
512
  - lib/capybara/rspec/matchers/become_closed.rb
388
513
  - lib/capybara/rspec/matchers/compound.rb
514
+ - lib/capybara/rspec/matchers/count_sugar.rb
515
+ - lib/capybara/rspec/matchers/have_ancestor.rb
389
516
  - lib/capybara/rspec/matchers/have_current_path.rb
390
517
  - lib/capybara/rspec/matchers/have_selector.rb
518
+ - lib/capybara/rspec/matchers/have_sibling.rb
391
519
  - lib/capybara/rspec/matchers/have_text.rb
392
520
  - lib/capybara/rspec/matchers/have_title.rb
393
521
  - lib/capybara/rspec/matchers/match_selector.rb
394
522
  - lib/capybara/rspec/matchers/match_style.rb
523
+ - lib/capybara/rspec/matchers/spatial_sugar.rb
395
524
  - lib/capybara/selector.rb
396
525
  - lib/capybara/selector/builders/css_builder.rb
397
526
  - lib/capybara/selector/builders/xpath_builder.rb
398
527
  - lib/capybara/selector/css.rb
528
+ - lib/capybara/selector/definition.rb
529
+ - lib/capybara/selector/definition/button.rb
530
+ - lib/capybara/selector/definition/checkbox.rb
531
+ - lib/capybara/selector/definition/css.rb
532
+ - lib/capybara/selector/definition/datalist_input.rb
533
+ - lib/capybara/selector/definition/datalist_option.rb
534
+ - lib/capybara/selector/definition/element.rb
535
+ - lib/capybara/selector/definition/field.rb
536
+ - lib/capybara/selector/definition/fieldset.rb
537
+ - lib/capybara/selector/definition/file_field.rb
538
+ - lib/capybara/selector/definition/fillable_field.rb
539
+ - lib/capybara/selector/definition/frame.rb
540
+ - lib/capybara/selector/definition/id.rb
541
+ - lib/capybara/selector/definition/label.rb
542
+ - lib/capybara/selector/definition/link.rb
543
+ - lib/capybara/selector/definition/link_or_button.rb
544
+ - lib/capybara/selector/definition/option.rb
545
+ - lib/capybara/selector/definition/radio_button.rb
546
+ - lib/capybara/selector/definition/select.rb
547
+ - lib/capybara/selector/definition/table.rb
548
+ - lib/capybara/selector/definition/table_row.rb
549
+ - lib/capybara/selector/definition/xpath.rb
399
550
  - lib/capybara/selector/filter.rb
400
551
  - lib/capybara/selector/filter_set.rb
401
552
  - lib/capybara/selector/filters/base.rb
@@ -404,17 +555,33 @@ files:
404
555
  - lib/capybara/selector/filters/node_filter.rb
405
556
  - lib/capybara/selector/regexp_disassembler.rb
406
557
  - lib/capybara/selector/selector.rb
558
+ - lib/capybara/selector/xpath_extensions.rb
559
+ - lib/capybara/selenium/atoms/getAttribute.min.js
560
+ - lib/capybara/selenium/atoms/isDisplayed.min.js
561
+ - lib/capybara/selenium/atoms/src/getAttribute.js
562
+ - lib/capybara/selenium/atoms/src/isDisplayed.js
407
563
  - lib/capybara/selenium/driver.rb
408
564
  - lib/capybara/selenium/driver_specializations/chrome_driver.rb
565
+ - lib/capybara/selenium/driver_specializations/edge_driver.rb
409
566
  - lib/capybara/selenium/driver_specializations/firefox_driver.rb
410
567
  - lib/capybara/selenium/driver_specializations/internet_explorer_driver.rb
568
+ - lib/capybara/selenium/driver_specializations/safari_driver.rb
569
+ - lib/capybara/selenium/extensions/file_input_click_emulation.rb
411
570
  - lib/capybara/selenium/extensions/find.rb
412
571
  - lib/capybara/selenium/extensions/html5_drag.rb
572
+ - lib/capybara/selenium/extensions/modifier_keys_stack.rb
413
573
  - lib/capybara/selenium/extensions/scroll.rb
414
574
  - lib/capybara/selenium/node.rb
415
575
  - lib/capybara/selenium/nodes/chrome_node.rb
576
+ - lib/capybara/selenium/nodes/edge_node.rb
416
577
  - lib/capybara/selenium/nodes/firefox_node.rb
578
+ - lib/capybara/selenium/nodes/ie_node.rb
579
+ - lib/capybara/selenium/nodes/safari_node.rb
580
+ - lib/capybara/selenium/patches/atoms.rb
581
+ - lib/capybara/selenium/patches/is_displayed.rb
582
+ - lib/capybara/selenium/patches/logs.rb
417
583
  - lib/capybara/selenium/patches/pause_duration_fix.rb
584
+ - lib/capybara/selenium/patches/persistent_client.rb
418
585
  - lib/capybara/server.rb
419
586
  - lib/capybara/server/animation_disabler.rb
420
587
  - lib/capybara/server/checker.rb
@@ -428,10 +595,12 @@ files:
428
595
  - lib/capybara/spec/fixtures/test_file.txt
429
596
  - lib/capybara/spec/public/jquery-ui.js
430
597
  - lib/capybara/spec/public/jquery.js
598
+ - lib/capybara/spec/public/offset.js
431
599
  - lib/capybara/spec/public/test.js
432
600
  - lib/capybara/spec/session/accept_alert_spec.rb
433
601
  - lib/capybara/spec/session/accept_confirm_spec.rb
434
602
  - lib/capybara/spec/session/accept_prompt_spec.rb
603
+ - lib/capybara/spec/session/active_element_spec.rb
435
604
  - lib/capybara/spec/session/all_spec.rb
436
605
  - lib/capybara/spec/session/ancestor_spec.rb
437
606
  - lib/capybara/spec/session/assert_all_of_selectors_spec.rb
@@ -472,15 +641,18 @@ files:
472
641
  - lib/capybara/spec/session/go_back_spec.rb
473
642
  - lib/capybara/spec/session/go_forward_spec.rb
474
643
  - lib/capybara/spec/session/has_all_selectors_spec.rb
644
+ - lib/capybara/spec/session/has_ancestor_spec.rb
475
645
  - lib/capybara/spec/session/has_any_selectors_spec.rb
476
646
  - lib/capybara/spec/session/has_button_spec.rb
477
647
  - lib/capybara/spec/session/has_css_spec.rb
478
648
  - lib/capybara/spec/session/has_current_path_spec.rb
649
+ - lib/capybara/spec/session/has_element_spec.rb
479
650
  - lib/capybara/spec/session/has_field_spec.rb
480
651
  - lib/capybara/spec/session/has_link_spec.rb
481
652
  - lib/capybara/spec/session/has_none_selectors_spec.rb
482
653
  - lib/capybara/spec/session/has_select_spec.rb
483
654
  - lib/capybara/spec/session/has_selector_spec.rb
655
+ - lib/capybara/spec/session/has_sibling_spec.rb
484
656
  - lib/capybara/spec/session/has_table_spec.rb
485
657
  - lib/capybara/spec/session/has_text_spec.rb
486
658
  - lib/capybara/spec/session/has_title_spec.rb
@@ -502,7 +674,6 @@ files:
502
674
  - lib/capybara/spec/session/select_spec.rb
503
675
  - lib/capybara/spec/session/selectors_spec.rb
504
676
  - lib/capybara/spec/session/sibling_spec.rb
505
- - lib/capybara/spec/session/source_spec.rb
506
677
  - lib/capybara/spec/session/text_spec.rb
507
678
  - lib/capybara/spec/session/title_spec.rb
508
679
  - lib/capybara/spec/session/uncheck_spec.rb
@@ -519,6 +690,7 @@ files:
519
690
  - lib/capybara/spec/session/within_spec.rb
520
691
  - lib/capybara/spec/spec_helper.rb
521
692
  - lib/capybara/spec/test_app.rb
693
+ - lib/capybara/spec/views/animated.erb
522
694
  - lib/capybara/spec/views/buttons.erb
523
695
  - lib/capybara/spec/views/fieldsets.erb
524
696
  - lib/capybara/spec/views/form.erb
@@ -529,27 +701,37 @@ files:
529
701
  - lib/capybara/spec/views/header_links.erb
530
702
  - lib/capybara/spec/views/host_links.erb
531
703
  - lib/capybara/spec/views/initial_alert.erb
704
+ - lib/capybara/spec/views/layout.erb
532
705
  - lib/capybara/spec/views/obscured.erb
706
+ - lib/capybara/spec/views/offset.erb
533
707
  - lib/capybara/spec/views/path.erb
534
708
  - lib/capybara/spec/views/popup_one.erb
535
709
  - lib/capybara/spec/views/popup_two.erb
536
710
  - lib/capybara/spec/views/postback.erb
711
+ - lib/capybara/spec/views/react.erb
537
712
  - lib/capybara/spec/views/scroll.erb
713
+ - lib/capybara/spec/views/spatial.erb
538
714
  - lib/capybara/spec/views/tables.erb
539
715
  - lib/capybara/spec/views/with_animation.erb
540
716
  - lib/capybara/spec/views/with_base_tag.erb
541
717
  - lib/capybara/spec/views/with_count.erb
718
+ - lib/capybara/spec/views/with_dragula.erb
542
719
  - lib/capybara/spec/views/with_fixed_header_footer.erb
543
720
  - lib/capybara/spec/views/with_hover.erb
721
+ - lib/capybara/spec/views/with_hover1.erb
544
722
  - lib/capybara/spec/views/with_html.erb
545
723
  - lib/capybara/spec/views/with_html5_svg.erb
546
724
  - lib/capybara/spec/views/with_html_entities.erb
725
+ - lib/capybara/spec/views/with_jquery_animation.erb
547
726
  - lib/capybara/spec/views/with_js.erb
727
+ - lib/capybara/spec/views/with_jstree.erb
548
728
  - lib/capybara/spec/views/with_namespace.erb
549
729
  - lib/capybara/spec/views/with_scope.erb
730
+ - lib/capybara/spec/views/with_scope_other.erb
731
+ - lib/capybara/spec/views/with_shadow.erb
550
732
  - lib/capybara/spec/views/with_simple_html.erb
551
733
  - lib/capybara/spec/views/with_slow_unload.erb
552
- - lib/capybara/spec/views/with_title.erb
734
+ - lib/capybara/spec/views/with_sortable_js.erb
553
735
  - lib/capybara/spec/views/with_unload_alert.erb
554
736
  - lib/capybara/spec/views/with_windows.erb
555
737
  - lib/capybara/spec/views/within_frames.erb
@@ -557,6 +739,7 @@ files:
557
739
  - lib/capybara/window.rb
558
740
  - spec/basic_node_spec.rb
559
741
  - spec/capybara_spec.rb
742
+ - spec/counter_spec.rb
560
743
  - spec/css_builder_spec.rb
561
744
  - spec/css_splitter_spec.rb
562
745
  - spec/dsl_spec.rb
@@ -578,6 +761,7 @@ files:
578
761
  - spec/rspec/views_spec.rb
579
762
  - spec/rspec_matchers_spec.rb
580
763
  - spec/rspec_spec.rb
764
+ - spec/sauce_spec_chrome.rb
581
765
  - spec/selector_spec.rb
582
766
  - spec/selenium_spec_chrome.rb
583
767
  - spec/selenium_spec_chrome_remote.rb
@@ -585,10 +769,13 @@ files:
585
769
  - spec/selenium_spec_firefox.rb
586
770
  - spec/selenium_spec_firefox_remote.rb
587
771
  - spec/selenium_spec_ie.rb
772
+ - spec/selenium_spec_safari.rb
588
773
  - spec/server_spec.rb
589
774
  - spec/session_spec.rb
775
+ - spec/shared_selenium_node.rb
590
776
  - spec/shared_selenium_session.rb
591
777
  - spec/spec_helper.rb
778
+ - spec/whitespace_normalizer_spec.rb
592
779
  - spec/xpath_builder_spec.rb
593
780
  homepage: https://github.com/teamcapybara/capybara
594
781
  licenses:
@@ -596,7 +783,8 @@ licenses:
596
783
  metadata:
597
784
  changelog_uri: https://github.com/teamcapybara/capybara/blob/master/History.md
598
785
  source_code_uri: https://github.com/teamcapybara/capybara
599
- post_install_message:
786
+ rubygems_mfa_required: 'true'
787
+ post_install_message:
600
788
  rdoc_options: []
601
789
  require_paths:
602
790
  - lib
@@ -604,15 +792,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
604
792
  requirements:
605
793
  - - ">="
606
794
  - !ruby/object:Gem::Version
607
- version: 2.3.0
795
+ version: 3.0.0
608
796
  required_rubygems_version: !ruby/object:Gem::Requirement
609
797
  requirements:
610
798
  - - ">="
611
799
  - !ruby/object:Gem::Version
612
800
  version: '0'
613
801
  requirements: []
614
- rubygems_version: 3.0.1
615
- signing_key:
802
+ rubygems_version: 3.4.19
803
+ signing_key:
616
804
  specification_version: 4
617
805
  summary: Capybara aims to simplify the process of integration testing Rack applications,
618
806
  such as Rails, Sinatra or Merb
File without changes
@@ -1,5 +0,0 @@
1
-
2
- <title>Test Title</title>
3
- <body>
4
- <svg><title>abcdefg</title></svg>
5
- </body>