capybara 2.18.0 → 3.0.0.rc1

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