capybara 3.6.0 → 3.7.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.
- checksums.yaml +4 -4
- data/History.md +16 -0
- data/README.md +5 -1
- data/lib/capybara.rb +2 -0
- data/lib/capybara/minitest/spec.rb +1 -1
- data/lib/capybara/node/actions.rb +34 -25
- data/lib/capybara/node/base.rb +15 -17
- data/lib/capybara/node/document_matchers.rb +1 -3
- data/lib/capybara/node/element.rb +11 -12
- data/lib/capybara/node/finders.rb +2 -1
- data/lib/capybara/node/simple.rb +13 -6
- data/lib/capybara/queries/base_query.rb +4 -4
- data/lib/capybara/queries/selector_query.rb +119 -94
- data/lib/capybara/queries/text_query.rb +2 -1
- data/lib/capybara/rack_test/form.rb +4 -4
- data/lib/capybara/rack_test/node.rb +5 -5
- data/lib/capybara/result.rb +23 -32
- data/lib/capybara/rspec/compound.rb +1 -1
- data/lib/capybara/rspec/matchers.rb +63 -61
- data/lib/capybara/selector.rb +28 -10
- data/lib/capybara/selector/css.rb +17 -17
- data/lib/capybara/selector/filter_set.rb +9 -9
- data/lib/capybara/selector/selector.rb +3 -4
- data/lib/capybara/selenium/driver.rb +73 -95
- data/lib/capybara/selenium/driver_specializations/chrome_driver.rb +4 -4
- data/lib/capybara/selenium/driver_specializations/marionette_driver.rb +9 -0
- data/lib/capybara/selenium/node.rb +127 -67
- data/lib/capybara/selenium/nodes/chrome_node.rb +3 -3
- data/lib/capybara/selenium/nodes/marionette_node.rb +14 -8
- data/lib/capybara/server.rb +2 -2
- data/lib/capybara/server/animation_disabler.rb +17 -3
- data/lib/capybara/server/middleware.rb +8 -4
- data/lib/capybara/session.rb +43 -37
- data/lib/capybara/session/config.rb +8 -6
- data/lib/capybara/spec/session/assert_text_spec.rb +14 -0
- data/lib/capybara/spec/session/attach_file_spec.rb +7 -0
- data/lib/capybara/spec/session/check_spec.rb +21 -0
- data/lib/capybara/spec/session/choose_spec.rb +15 -1
- data/lib/capybara/spec/session/fill_in_spec.rb +7 -0
- data/lib/capybara/spec/session/find_spec.rb +2 -1
- data/lib/capybara/spec/session/has_selector_spec.rb +18 -0
- data/lib/capybara/spec/session/has_text_spec.rb +14 -0
- data/lib/capybara/spec/session/node_spec.rb +2 -1
- data/lib/capybara/spec/session/reset_session_spec.rb +4 -4
- data/lib/capybara/spec/session/text_spec.rb +2 -1
- data/lib/capybara/spec/session/title_spec.rb +2 -1
- data/lib/capybara/spec/session/uncheck_spec.rb +8 -0
- data/lib/capybara/spec/session/within_spec.rb +2 -1
- data/lib/capybara/spec/spec_helper.rb +1 -32
- data/lib/capybara/spec/views/with_js.erb +3 -4
- data/lib/capybara/version.rb +1 -1
- data/spec/minitest_spec.rb +4 -0
- data/spec/minitest_spec_spec.rb +4 -0
- data/spec/rack_test_spec.rb +4 -4
- data/spec/rspec/shared_spec_matchers.rb +4 -2
- data/spec/selector_spec.rb +15 -1
- data/spec/selenium_spec_chrome.rb +1 -6
- data/spec/selenium_spec_chrome_remote.rb +1 -1
- data/spec/selenium_spec_firefox_remote.rb +2 -5
- data/spec/selenium_spec_ie.rb +41 -4
- data/spec/selenium_spec_marionette.rb +1 -25
- data/spec/shared_selenium_session.rb +74 -16
- data/spec/spec_helper.rb +41 -0
- metadata +2 -2
data/spec/spec_helper.rb
CHANGED
@@ -4,6 +4,47 @@ require 'rspec/expectations'
|
|
4
4
|
require 'capybara/spec/spec_helper'
|
5
5
|
require 'webdrivers' if ENV['CI']
|
6
6
|
|
7
|
+
module Capybara
|
8
|
+
module SpecHelper
|
9
|
+
def marionette?(session)
|
10
|
+
browser_name(session) == :firefox &&
|
11
|
+
session.driver.browser.capabilities.is_a?(::Selenium::WebDriver::Remote::W3C::Capabilities)
|
12
|
+
end
|
13
|
+
|
14
|
+
def marionette_lt?(version, session)
|
15
|
+
marionette?(session) && (session.driver.browser.capabilities[:browser_version].to_f < version)
|
16
|
+
end
|
17
|
+
|
18
|
+
def marionette_gte?(version, session)
|
19
|
+
marionette?(session) && (session.driver.browser.capabilities[:browser_version].to_f >= version)
|
20
|
+
end
|
21
|
+
|
22
|
+
def chrome?(session)
|
23
|
+
browser_name(session) == :chrome
|
24
|
+
end
|
25
|
+
|
26
|
+
def chrome_lt?(version, session)
|
27
|
+
chrome?(session) && (session.driver.browser.capabilities[:version].to_f < version)
|
28
|
+
end
|
29
|
+
|
30
|
+
def chrome_gte?(version, session)
|
31
|
+
chrome?(session) && (session.driver.browser.capabilities[:version].to_f >= version)
|
32
|
+
end
|
33
|
+
|
34
|
+
def edge?(session)
|
35
|
+
browser_name(session) == :edge
|
36
|
+
end
|
37
|
+
|
38
|
+
def ie?(session)
|
39
|
+
%i[internet_explorer ie].include?(browser_name(session))
|
40
|
+
end
|
41
|
+
|
42
|
+
def browser_name(session)
|
43
|
+
session.driver.browser.browser if session.respond_to?(:driver)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
7
48
|
RSpec.configure do |config|
|
8
49
|
Capybara::SpecHelper.configure(config)
|
9
50
|
config.filter_run_including focus_: true unless ENV['CI']
|
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: 3.
|
4
|
+
version: 3.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thomas Walpole
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain:
|
12
12
|
- gem-public_cert.pem
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-09-03 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: addressable
|