capybara 2.18.0 → 3.0.0.rc1

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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/History.md +26 -1
  3. data/README.md +12 -12
  4. data/lib/capybara.rb +13 -25
  5. data/lib/capybara/config.rb +11 -57
  6. data/lib/capybara/cucumber.rb +2 -3
  7. data/lib/capybara/driver/base.rb +5 -16
  8. data/lib/capybara/driver/node.rb +5 -4
  9. data/lib/capybara/dsl.rb +1 -0
  10. data/lib/capybara/helpers.rb +16 -28
  11. data/lib/capybara/minitest.rb +139 -138
  12. data/lib/capybara/minitest/spec.rb +15 -14
  13. data/lib/capybara/node/actions.rb +59 -81
  14. data/lib/capybara/node/base.rb +11 -18
  15. data/lib/capybara/node/document.rb +2 -2
  16. data/lib/capybara/node/document_matchers.rb +8 -8
  17. data/lib/capybara/node/element.rb +30 -40
  18. data/lib/capybara/node/finders.rb +62 -70
  19. data/lib/capybara/node/matchers.rb +48 -71
  20. data/lib/capybara/node/simple.rb +11 -17
  21. data/lib/capybara/queries/ancestor_query.rb +4 -6
  22. data/lib/capybara/queries/base_query.rb +18 -17
  23. data/lib/capybara/queries/current_path_query.rb +8 -24
  24. data/lib/capybara/queries/match_query.rb +3 -7
  25. data/lib/capybara/queries/selector_query.rb +92 -95
  26. data/lib/capybara/queries/sibling_query.rb +4 -4
  27. data/lib/capybara/queries/text_query.rb +37 -34
  28. data/lib/capybara/queries/title_query.rb +8 -11
  29. data/lib/capybara/rack_test/browser.rb +15 -18
  30. data/lib/capybara/rack_test/css_handlers.rb +6 -4
  31. data/lib/capybara/rack_test/driver.rb +6 -10
  32. data/lib/capybara/rack_test/form.rb +50 -40
  33. data/lib/capybara/rack_test/node.rb +70 -56
  34. data/lib/capybara/rails.rb +2 -6
  35. data/lib/capybara/result.rb +22 -22
  36. data/lib/capybara/rspec.rb +5 -10
  37. data/lib/capybara/rspec/compound.rb +5 -10
  38. data/lib/capybara/rspec/features.rb +17 -48
  39. data/lib/capybara/rspec/matcher_proxies.rb +31 -15
  40. data/lib/capybara/rspec/matchers.rb +70 -60
  41. data/lib/capybara/selector.rb +129 -117
  42. data/lib/capybara/selector/css.rb +6 -11
  43. data/lib/capybara/selector/filter.rb +1 -17
  44. data/lib/capybara/selector/filter_set.rb +17 -14
  45. data/lib/capybara/selector/filters/base.rb +7 -6
  46. data/lib/capybara/selector/filters/expression_filter.rb +6 -23
  47. data/lib/capybara/selector/filters/node_filter.rb +2 -12
  48. data/lib/capybara/selector/selector.rb +27 -33
  49. data/lib/capybara/selenium/driver.rb +113 -127
  50. data/lib/capybara/selenium/node.rb +148 -113
  51. data/lib/capybara/server.rb +3 -2
  52. data/lib/capybara/session.rb +137 -223
  53. data/lib/capybara/session/config.rb +47 -67
  54. data/lib/capybara/session/matchers.rb +8 -7
  55. data/lib/capybara/spec/public/test.js +26 -4
  56. data/lib/capybara/spec/session/accept_alert_spec.rb +1 -0
  57. data/lib/capybara/spec/session/accept_confirm_spec.rb +3 -2
  58. data/lib/capybara/spec/session/accept_prompt_spec.rb +1 -0
  59. data/lib/capybara/spec/session/all_spec.rb +31 -18
  60. data/lib/capybara/spec/session/ancestor_spec.rb +2 -4
  61. data/lib/capybara/spec/session/assert_all_of_selectors_spec.rb +6 -5
  62. data/lib/capybara/spec/session/assert_current_path.rb +12 -11
  63. data/lib/capybara/spec/session/assert_selector.rb +1 -0
  64. data/lib/capybara/spec/session/assert_text.rb +18 -17
  65. data/lib/capybara/spec/session/assert_title.rb +1 -0
  66. data/lib/capybara/spec/session/attach_file_spec.rb +14 -13
  67. data/lib/capybara/spec/session/body_spec.rb +1 -0
  68. data/lib/capybara/spec/session/check_spec.rb +7 -6
  69. data/lib/capybara/spec/session/choose_spec.rb +5 -4
  70. data/lib/capybara/spec/session/click_button_spec.rb +20 -28
  71. data/lib/capybara/spec/session/click_link_or_button_spec.rb +8 -7
  72. data/lib/capybara/spec/session/click_link_spec.rb +8 -7
  73. data/lib/capybara/spec/session/current_scope_spec.rb +4 -3
  74. data/lib/capybara/spec/session/current_url_spec.rb +7 -6
  75. data/lib/capybara/spec/session/dismiss_confirm_spec.rb +1 -1
  76. data/lib/capybara/spec/session/dismiss_prompt_spec.rb +1 -0
  77. data/lib/capybara/spec/session/element/assert_match_selector.rb +1 -1
  78. data/lib/capybara/spec/session/element/match_xpath_spec.rb +1 -1
  79. data/lib/capybara/spec/session/element/matches_selector_spec.rb +5 -5
  80. data/lib/capybara/spec/session/evaluate_async_script_spec.rb +3 -2
  81. data/lib/capybara/spec/session/evaluate_script_spec.rb +4 -3
  82. data/lib/capybara/spec/session/execute_script_spec.rb +4 -3
  83. data/lib/capybara/spec/session/fill_in_spec.rb +6 -5
  84. data/lib/capybara/spec/session/find_button_spec.rb +4 -3
  85. data/lib/capybara/spec/session/find_by_id_spec.rb +2 -1
  86. data/lib/capybara/spec/session/find_field_spec.rb +8 -14
  87. data/lib/capybara/spec/session/find_link_spec.rb +6 -5
  88. data/lib/capybara/spec/session/find_spec.rb +37 -31
  89. data/lib/capybara/spec/session/first_spec.rb +60 -33
  90. data/lib/capybara/spec/session/frame/switch_to_frame_spec.rb +2 -1
  91. data/lib/capybara/spec/session/frame/within_frame_spec.rb +9 -16
  92. data/lib/capybara/spec/session/go_back_spec.rb +1 -0
  93. data/lib/capybara/spec/session/go_forward_spec.rb +1 -0
  94. data/lib/capybara/spec/session/has_all_selectors_spec.rb +15 -15
  95. data/lib/capybara/spec/session/has_button_spec.rb +2 -1
  96. data/lib/capybara/spec/session/has_css_spec.rb +3 -2
  97. data/lib/capybara/spec/session/has_current_path_spec.rb +12 -28
  98. data/lib/capybara/spec/session/has_field_spec.rb +4 -3
  99. data/lib/capybara/spec/session/has_link_spec.rb +1 -0
  100. data/lib/capybara/spec/session/has_none_selectors_spec.rb +17 -17
  101. data/lib/capybara/spec/session/has_select_spec.rb +30 -29
  102. data/lib/capybara/spec/session/has_selector_spec.rb +5 -4
  103. data/lib/capybara/spec/session/has_table_spec.rb +2 -1
  104. data/lib/capybara/spec/session/has_text_spec.rb +6 -5
  105. data/lib/capybara/spec/session/has_title_spec.rb +1 -0
  106. data/lib/capybara/spec/session/has_xpath_spec.rb +1 -0
  107. data/lib/capybara/spec/session/headers.rb +2 -1
  108. data/lib/capybara/spec/session/html_spec.rb +1 -0
  109. data/lib/capybara/spec/session/node_spec.rb +91 -56
  110. data/lib/capybara/spec/session/node_wrapper_spec.rb +36 -0
  111. data/lib/capybara/spec/session/refresh_spec.rb +4 -2
  112. data/lib/capybara/spec/session/reset_session_spec.rb +1 -0
  113. data/lib/capybara/spec/session/response_code.rb +1 -0
  114. data/lib/capybara/spec/session/save_and_open_page_spec.rb +1 -0
  115. data/lib/capybara/spec/session/save_and_open_screenshot_spec.rb +6 -11
  116. data/lib/capybara/spec/session/save_page_spec.rb +1 -17
  117. data/lib/capybara/spec/session/save_screenshot_spec.rb +1 -1
  118. data/lib/capybara/spec/session/select_spec.rb +20 -20
  119. data/lib/capybara/spec/session/selectors_spec.rb +2 -2
  120. data/lib/capybara/spec/session/sibling_spec.rb +1 -1
  121. data/lib/capybara/spec/session/text_spec.rb +1 -0
  122. data/lib/capybara/spec/session/title_spec.rb +1 -1
  123. data/lib/capybara/spec/session/uncheck_spec.rb +4 -3
  124. data/lib/capybara/spec/session/unselect_spec.rb +6 -5
  125. data/lib/capybara/spec/session/visit_spec.rb +9 -3
  126. data/lib/capybara/spec/session/window/become_closed_spec.rb +2 -1
  127. data/lib/capybara/spec/session/window/current_window_spec.rb +1 -0
  128. data/lib/capybara/spec/session/window/open_new_window_spec.rb +1 -0
  129. data/lib/capybara/spec/session/window/switch_to_window_spec.rb +2 -1
  130. data/lib/capybara/spec/session/window/window_opened_by_spec.rb +2 -1
  131. data/lib/capybara/spec/session/window/window_spec.rb +12 -12
  132. data/lib/capybara/spec/session/window/windows_spec.rb +2 -3
  133. data/lib/capybara/spec/session/window/within_window_spec.rb +13 -68
  134. data/lib/capybara/spec/session/within_spec.rb +1 -0
  135. data/lib/capybara/spec/spec_helper.rb +26 -18
  136. data/lib/capybara/spec/test_app.rb +8 -9
  137. data/lib/capybara/spec/views/form.erb +1 -0
  138. data/lib/capybara/spec/views/with_html.erb +3 -1
  139. data/lib/capybara/spec/views/within_frames.erb +4 -1
  140. data/lib/capybara/version.rb +2 -1
  141. data/lib/capybara/window.rb +6 -10
  142. data/spec/basic_node_spec.rb +1 -0
  143. data/spec/capybara_spec.rb +9 -32
  144. data/spec/dsl_spec.rb +5 -13
  145. data/spec/filter_set_spec.rb +5 -4
  146. data/spec/fixtures/selenium_driver_rspec_failure.rb +2 -1
  147. data/spec/fixtures/selenium_driver_rspec_success.rb +3 -2
  148. data/spec/minitest_spec.rb +4 -3
  149. data/spec/minitest_spec_spec.rb +3 -2
  150. data/spec/per_session_config_spec.rb +9 -8
  151. data/spec/rack_test_spec.rb +21 -20
  152. data/spec/result_spec.rb +17 -16
  153. data/spec/rspec/features_spec.rb +17 -14
  154. data/spec/rspec/scenarios_spec.rb +5 -7
  155. data/spec/rspec/shared_spec_matchers.rb +96 -99
  156. data/spec/rspec/views_spec.rb +2 -1
  157. data/spec/rspec_matchers_spec.rb +19 -2
  158. data/spec/rspec_spec.rb +11 -15
  159. data/spec/selector_spec.rb +5 -6
  160. data/spec/selenium_spec_chrome.rb +7 -4
  161. data/spec/selenium_spec_marionette.rb +26 -12
  162. data/spec/server_spec.rb +33 -33
  163. data/spec/session_spec.rb +2 -1
  164. data/spec/shared_selenium_session.rb +27 -21
  165. data/spec/spec_helper.rb +2 -5
  166. metadata +66 -87
  167. data/lib/capybara/query.rb +0 -7
  168. data/spec/selenium_spec_firefox.rb +0 -68
@@ -1,9 +1,10 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'spec_helper'
3
4
  require "selenium-webdriver"
4
5
 
5
6
  RSpec.shared_examples "Capybara::Session" do |session, mode|
6
- let(:session) {session}
7
+ let(:session) { session }
7
8
 
8
9
  context 'with selenium driver' do
9
10
  before do
@@ -35,7 +36,6 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
35
36
  @current_dir = Dir.getwd
36
37
  Dir.chdir(File.join(File.dirname(__FILE__), '..'))
37
38
  @env = { 'SELENIUM_BROWSER' => @session.driver.options[:browser].to_s }
38
- @env['LEGACY_FIREFOX'] = 'TRUE' if mode == :selenium_firefox
39
39
  end
40
40
 
41
41
  after do
@@ -45,13 +45,13 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
45
45
  it "should have return code 1 when running selenium_driver_rspec_failure.rb" do
46
46
  skip if ENV['HEADLESS']
47
47
  system(@env, 'rspec spec/fixtures/selenium_driver_rspec_failure.rb', out: File::NULL, err: File::NULL)
48
- expect($?.exitstatus).to eq(1)
48
+ expect($CHILD_STATUS.exitstatus).to eq(1)
49
49
  end
50
50
 
51
51
  it "should have return code 0 when running selenium_driver_rspec_success.rb" do
52
52
  skip if ENV['HEADLESS']
53
53
  system(@env, 'rspec spec/fixtures/selenium_driver_rspec_success.rb', out: File::NULL, err: File::NULL)
54
- expect($?.exitstatus).to eq(0)
54
+ expect($CHILD_STATUS.exitstatus).to eq(0)
55
55
  end
56
56
  end
57
57
 
@@ -60,7 +60,7 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
60
60
  @session.visit('/with_js')
61
61
  @session.click_link('Open alert')
62
62
  @session.accept_alert
63
- expect{@session.driver.browser.switch_to.alert}.to raise_error(@session.driver.send(:modal_error))
63
+ expect { @session.driver.browser.switch_to.alert }.to raise_error(@session.driver.send(:modal_error))
64
64
  end
65
65
 
66
66
  it "can be called before visiting" do
@@ -84,15 +84,17 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
84
84
  context "#fill_in with { :clear => :backspace } fill_option", requires: [:js] do
85
85
  it 'should fill in a field, replacing an existing value' do
86
86
  @session.visit('/form')
87
- @session.fill_in('form_first_name', with: 'Harry',
88
- fill_options: { clear: :backspace} )
87
+ @session.fill_in('form_first_name',
88
+ with: 'Harry',
89
+ fill_options: { clear: :backspace })
89
90
  expect(@session.find(:fillable_field, 'form_first_name').value).to eq('Harry')
90
91
  end
91
92
 
92
93
  it 'should only trigger onchange once' do
93
94
  @session.visit('/with_js')
94
- @session.fill_in('with_change_event', with: 'some value',
95
- fill_options: { :clear => :backspace })
95
+ @session.fill_in('with_change_event',
96
+ with: 'some value',
97
+ fill_options: { clear: :backspace })
96
98
  # click outside the field to trigger the change event
97
99
  @session.find(:css, 'body').click
98
100
  expect(@session.find(:css, '.change_event_triggered', match: :one)).to have_text 'some value'
@@ -100,8 +102,9 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
100
102
 
101
103
  it 'should trigger change when clearing field' do
102
104
  @session.visit('/with_js')
103
- @session.fill_in('with_change_event', with: '',
104
- fill_options: { :clear => :backspace })
105
+ @session.fill_in('with_change_event',
106
+ with: '',
107
+ fill_options: { clear: :backspace })
105
108
  # click outside the field to trigger the change event
106
109
  @session.find(:css, 'body').click
107
110
  expect(@session).to have_selector(:css, '.change_event_triggered', match: :one)
@@ -109,8 +112,9 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
109
112
 
110
113
  it 'should trigger input event field_value.length times' do
111
114
  @session.visit('/with_js')
112
- @session.fill_in('with_change_event', with: '',
113
- fill_options: { :clear => :backspace })
115
+ @session.fill_in('with_change_event',
116
+ with: '',
117
+ fill_options: { clear: :backspace })
114
118
  # click outside the field to trigger the change event
115
119
  @session.find(:css, 'body').click
116
120
  expect(@session).to have_xpath('//p[@class="input_event_triggered"]', count: 13)
@@ -120,8 +124,9 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
120
124
  context "#fill_in with { clear: :none } fill_options" do
121
125
  it 'should append to content in a field' do
122
126
  @session.visit('/form')
123
- @session.fill_in('form_first_name', with: 'Harry',
124
- fill_options: { clear: :none} )
127
+ @session.fill_in('form_first_name',
128
+ with: 'Harry',
129
+ fill_options: { clear: :none })
125
130
  expect(@session.find(:fillable_field, 'form_first_name').value).to eq('JohnHarry')
126
131
  end
127
132
  end
@@ -129,10 +134,11 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
129
134
  context "#fill_in with { clear: Array } fill_options" do
130
135
  it 'should pass the array through to the element' do
131
136
  pending "selenium-webdriver/geckodriver doesn't support complex sets of characters" if marionette?(@session)
132
- #this is mainly for use with [[:control, 'a'], :backspace] - however since that is platform dependant I'm testing with something less useful
137
+ # this is mainly for use with [[:control, 'a'], :backspace] - however since that is platform dependant I'm testing with something less useful
133
138
  @session.visit('/form')
134
- @session.fill_in('form_first_name', with: 'Harry',
135
- fill_options: { clear: [[:shift, 'abc'], :backspace] } )
139
+ @session.fill_in('form_first_name',
140
+ with: 'Harry',
141
+ fill_options: { clear: [[:shift, 'abc'], :backspace] })
136
142
  expect(@session.find(:fillable_field, 'form_first_name').value).to eq('JohnABHarry')
137
143
  end
138
144
  end
@@ -149,7 +155,7 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
149
155
  describe "all with disappearing elements" do
150
156
  it "ignores stale elements in results" do
151
157
  @session.visit('/path')
152
- elements = @session.all(:link) { |node| raise Selenium::WebDriver::Error::StaleElementReferenceError }
158
+ elements = @session.all(:link) { |_node| raise Selenium::WebDriver::Error::StaleElementReferenceError }
153
159
  expect(elements.size).to eq 0
154
160
  end
155
161
  end
@@ -173,12 +179,12 @@ RSpec.shared_examples "Capybara::Session" do |session, mode|
173
179
  it "can return hashes with elements" do
174
180
  @session.visit('/form')
175
181
  result = @session.evaluate_script("{ a: document.getElementById('form_title'), b: {c: document.querySelectorAll('#form_city option')}}")
176
- expect(result).to eq({
182
+ expect(result).to eq(
177
183
  'a' => @session.find(:id, 'form_title'),
178
184
  'b' => {
179
185
  'c' => @session.find(:css, '#form_city').all(:css, 'option').to_a
180
186
  }
181
- })
187
+ )
182
188
  end
183
189
 
184
190
  describe "#evaluate_async_script" do
@@ -1,14 +1,11 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require 'rspec/expectations'
3
4
  require "capybara/spec/spec_helper"
4
- require "pry"
5
+ require 'webdrivers' if ENV['TRAVIS']
5
6
 
6
7
  RSpec.configure do |config|
7
8
  Capybara::SpecHelper.configure(config)
8
9
  config.filter_run_including focus_: true unless ENV['TRAVIS']
9
10
  config.run_all_when_everything_filtered = true
10
11
  end
11
-
12
- def rspec2?
13
- !defined?(::RSpec::Expectations::Version) || (Gem::Version.new(RSpec::Expectations::Version::STRING) < Gem::Version.new('3.0'))
14
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capybara
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.18.0
4
+ version: 3.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Walpole
@@ -10,22 +10,22 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain:
12
12
  - gem-public_cert.pem
13
- date: 2018-02-13 00:00:00.000000000 Z
13
+ date: 2018-03-02 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: nokogiri
16
+ name: addressable
17
17
  requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 1.3.3
21
+ version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 1.3.3
28
+ version: '0'
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: mini_mime
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -41,121 +41,103 @@ dependencies:
41
41
  - !ruby/object:Gem::Version
42
42
  version: 0.1.3
43
43
  - !ruby/object:Gem::Dependency
44
- name: rack
44
+ name: nokogiri
45
45
  requirement: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - ">="
47
+ - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 1.0.0
49
+ version: '1.8'
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
- - - ">="
54
+ - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 1.0.0
56
+ version: '1.8'
57
57
  - !ruby/object:Gem::Dependency
58
- name: rack-test
58
+ name: rack
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
- version: 0.5.4
63
+ version: 1.6.0
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - ">="
69
69
  - !ruby/object:Gem::Version
70
- version: 0.5.4
70
+ version: 1.6.0
71
71
  - !ruby/object:Gem::Dependency
72
- name: xpath
72
+ name: rack-test
73
73
  requirement: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: '2.0'
78
- - - "<"
79
- - !ruby/object:Gem::Version
80
- version: '4.0'
77
+ version: 0.6.3
81
78
  type: :runtime
82
79
  prerelease: false
83
80
  version_requirements: !ruby/object:Gem::Requirement
84
81
  requirements:
85
82
  - - ">="
86
83
  - !ruby/object:Gem::Version
87
- version: '2.0'
88
- - - "<"
89
- - !ruby/object:Gem::Version
90
- version: '4.0'
84
+ version: 0.6.3
91
85
  - !ruby/object:Gem::Dependency
92
- name: addressable
86
+ name: xpath
93
87
  requirement: !ruby/object:Gem::Requirement
94
88
  requirements:
95
- - - ">="
89
+ - - "~>"
96
90
  - !ruby/object:Gem::Version
97
- version: '0'
91
+ version: '3.0'
98
92
  type: :runtime
99
93
  prerelease: false
100
94
  version_requirements: !ruby/object:Gem::Requirement
101
95
  requirements:
102
- - - ">="
96
+ - - "~>"
103
97
  - !ruby/object:Gem::Version
104
- version: '0'
98
+ version: '3.0'
105
99
  - !ruby/object:Gem::Dependency
106
- name: selenium-webdriver
100
+ name: cucumber
107
101
  requirement: !ruby/object:Gem::Requirement
108
102
  requirements:
109
103
  - - ">="
110
104
  - !ruby/object:Gem::Version
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
105
+ version: 2.3.0
118
106
  type: :development
119
107
  prerelease: false
120
108
  version_requirements: !ruby/object:Gem::Requirement
121
109
  requirements:
122
110
  - - ">="
123
111
  - !ruby/object:Gem::Version
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
112
+ version: 2.3.0
131
113
  - !ruby/object:Gem::Dependency
132
- name: sinatra
114
+ name: erubi
133
115
  requirement: !ruby/object:Gem::Requirement
134
116
  requirements:
135
117
  - - ">="
136
118
  - !ruby/object:Gem::Version
137
- version: 0.9.4
119
+ version: '0'
138
120
  type: :development
139
121
  prerelease: false
140
122
  version_requirements: !ruby/object:Gem::Requirement
141
123
  requirements:
142
124
  - - ">="
143
125
  - !ruby/object:Gem::Version
144
- version: 0.9.4
126
+ version: '0'
145
127
  - !ruby/object:Gem::Dependency
146
- name: rspec
128
+ name: fuubar
147
129
  requirement: !ruby/object:Gem::Requirement
148
130
  requirements:
149
131
  - - ">="
150
132
  - !ruby/object:Gem::Version
151
- version: 2.2.0
133
+ version: 1.0.0
152
134
  type: :development
153
135
  prerelease: false
154
136
  version_requirements: !ruby/object:Gem::Requirement
155
137
  requirements:
156
138
  - - ">="
157
139
  - !ruby/object:Gem::Version
158
- version: 2.2.0
140
+ version: 1.0.0
159
141
  - !ruby/object:Gem::Dependency
160
142
  name: launchy
161
143
  requirement: !ruby/object:Gem::Requirement
@@ -171,49 +153,35 @@ dependencies:
171
153
  - !ruby/object:Gem::Version
172
154
  version: 2.0.4
173
155
  - !ruby/object:Gem::Dependency
174
- name: yard
175
- requirement: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: 0.5.8
180
- type: :development
181
- prerelease: false
182
- version_requirements: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - ">="
185
- - !ruby/object:Gem::Version
186
- version: 0.5.8
187
- - !ruby/object:Gem::Dependency
188
- name: fuubar
156
+ name: minitest
189
157
  requirement: !ruby/object:Gem::Requirement
190
158
  requirements:
191
159
  - - ">="
192
160
  - !ruby/object:Gem::Version
193
- version: 0.0.1
161
+ version: '0'
194
162
  type: :development
195
163
  prerelease: false
196
164
  version_requirements: !ruby/object:Gem::Requirement
197
165
  requirements:
198
166
  - - ">="
199
167
  - !ruby/object:Gem::Version
200
- version: 0.0.1
168
+ version: '0'
201
169
  - !ruby/object:Gem::Dependency
202
- name: cucumber
170
+ name: puma
203
171
  requirement: !ruby/object:Gem::Requirement
204
172
  requirements:
205
173
  - - ">="
206
174
  - !ruby/object:Gem::Version
207
- version: 0.10.5
175
+ version: '0'
208
176
  type: :development
209
177
  prerelease: false
210
178
  version_requirements: !ruby/object:Gem::Requirement
211
179
  requirements:
212
180
  - - ">="
213
181
  - !ruby/object:Gem::Version
214
- version: 0.10.5
182
+ version: '0'
215
183
  - !ruby/object:Gem::Dependency
216
- name: minitest
184
+ name: rake
217
185
  requirement: !ruby/object:Gem::Requirement
218
186
  requirements:
219
187
  - - ">="
@@ -227,61 +195,73 @@ dependencies:
227
195
  - !ruby/object:Gem::Version
228
196
  version: '0'
229
197
  - !ruby/object:Gem::Dependency
230
- name: rake
198
+ name: rspec
231
199
  requirement: !ruby/object:Gem::Requirement
232
200
  requirements:
233
201
  - - ">="
234
202
  - !ruby/object:Gem::Version
235
- version: '0'
203
+ version: 3.4.0
236
204
  type: :development
237
205
  prerelease: false
238
206
  version_requirements: !ruby/object:Gem::Requirement
239
207
  requirements:
240
208
  - - ">="
241
209
  - !ruby/object:Gem::Version
242
- version: '0'
210
+ version: 3.4.0
243
211
  - !ruby/object:Gem::Dependency
244
- name: puma
212
+ name: selenium-webdriver
245
213
  requirement: !ruby/object:Gem::Requirement
246
214
  requirements:
247
215
  - - ">="
248
216
  - !ruby/object:Gem::Version
249
- version: '0'
217
+ version: '3.0'
218
+ - - "<"
219
+ - !ruby/object:Gem::Version
220
+ version: '4.0'
221
+ - - "!="
222
+ - !ruby/object:Gem::Version
223
+ version: 3.4.1
250
224
  type: :development
251
225
  prerelease: false
252
226
  version_requirements: !ruby/object:Gem::Requirement
253
227
  requirements:
254
228
  - - ">="
255
229
  - !ruby/object:Gem::Version
256
- version: '0'
230
+ version: '3.0'
231
+ - - "<"
232
+ - !ruby/object:Gem::Version
233
+ version: '4.0'
234
+ - - "!="
235
+ - !ruby/object:Gem::Version
236
+ version: 3.4.1
257
237
  - !ruby/object:Gem::Dependency
258
- name: pry
238
+ name: sinatra
259
239
  requirement: !ruby/object:Gem::Requirement
260
240
  requirements:
261
241
  - - ">="
262
242
  - !ruby/object:Gem::Version
263
- version: '0'
243
+ version: 1.4.0
264
244
  type: :development
265
245
  prerelease: false
266
246
  version_requirements: !ruby/object:Gem::Requirement
267
247
  requirements:
268
248
  - - ">="
269
249
  - !ruby/object:Gem::Version
270
- version: '0'
250
+ version: 1.4.0
271
251
  - !ruby/object:Gem::Dependency
272
- name: erubi
252
+ name: yard
273
253
  requirement: !ruby/object:Gem::Requirement
274
254
  requirements:
275
255
  - - ">="
276
256
  - !ruby/object:Gem::Version
277
- version: '0'
257
+ version: 0.9.0
278
258
  type: :development
279
259
  prerelease: false
280
260
  version_requirements: !ruby/object:Gem::Requirement
281
261
  requirements:
282
262
  - - ">="
283
263
  - !ruby/object:Gem::Version
284
- version: '0'
264
+ version: 0.9.0
285
265
  description: Capybara is an integration testing tool for rack based web applications.
286
266
  It simulates how a user would interact with a website
287
267
  email:
@@ -323,7 +303,6 @@ files:
323
303
  - lib/capybara/queries/sibling_query.rb
324
304
  - lib/capybara/queries/text_query.rb
325
305
  - lib/capybara/queries/title_query.rb
326
- - lib/capybara/query.rb
327
306
  - lib/capybara/rack_test/browser.rb
328
307
  - lib/capybara/rack_test/css_handlers.rb
329
308
  - lib/capybara/rack_test/driver.rb
@@ -412,6 +391,7 @@ files:
412
391
  - lib/capybara/spec/session/headers.rb
413
392
  - lib/capybara/spec/session/html_spec.rb
414
393
  - lib/capybara/spec/session/node_spec.rb
394
+ - lib/capybara/spec/session/node_wrapper_spec.rb
415
395
  - lib/capybara/spec/session/refresh_spec.rb
416
396
  - lib/capybara/spec/session/reset_session_spec.rb
417
397
  - lib/capybara/spec/session/response_code.rb
@@ -491,7 +471,6 @@ files:
491
471
  - spec/rspec_spec.rb
492
472
  - spec/selector_spec.rb
493
473
  - spec/selenium_spec_chrome.rb
494
- - spec/selenium_spec_firefox.rb
495
474
  - spec/selenium_spec_marionette.rb
496
475
  - spec/server_spec.rb
497
476
  - spec/session_spec.rb
@@ -509,15 +488,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
509
488
  requirements:
510
489
  - - ">="
511
490
  - !ruby/object:Gem::Version
512
- version: 1.9.3
491
+ version: 2.2.2
513
492
  required_rubygems_version: !ruby/object:Gem::Requirement
514
493
  requirements:
515
- - - ">="
494
+ - - ">"
516
495
  - !ruby/object:Gem::Version
517
- version: '0'
496
+ version: 1.3.1
518
497
  requirements: []
519
498
  rubyforge_project:
520
- rubygems_version: 2.7.4
499
+ rubygems_version: 2.7.6
521
500
  signing_key:
522
501
  specification_version: 4
523
502
  summary: Capybara aims to simplify the process of integration testing Rack applications,