capybara 2.10.1 → 2.10.2
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 +7 -0
- data/lib/capybara/session.rb +8 -2
- data/lib/capybara/spec/session/node_spec.rb +11 -0
- data/lib/capybara/spec/test_app.rb +10 -1
- data/lib/capybara/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 21fdd89225cd5ecf58f6e1eb72da29832f70ba9a
|
4
|
+
data.tar.gz: edada38839bc4b98461a27b02f196ec2e2e58ac7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f2ed74c7e278e93c5dcf3f92ab35b51a2b31578bff67e25c83076f65ab8e7edd50a2b63afd41ddd65e0a7bc438e6d27adcaae17fcafad6f0e4cd52b241e5797
|
7
|
+
data.tar.gz: a97567024d5a9d18858e8b4b1b9920819a6655708f87206ad5c281de9bb39cb5e2185dd1f710618e745483c925ba6e09bbba143d17f7ded222c80acab7be9ce2
|
data/History.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
#2.10.2
|
2
|
+
Release date: 2016-11-30
|
3
|
+
|
4
|
+
### Fixed
|
5
|
+
* App exceptions with multiple parameter initializers now re-raised correctly - Issue #1785 [Michael Lutsiuk]
|
6
|
+
* Use Addressable::URI when parsing current_path since it's more lenient of technically invalid URLs - Issue #1801 [Marcos Duque, Thomas Walpole]
|
7
|
+
|
1
8
|
#2.10.1
|
2
9
|
Release date: 2016-10-08
|
3
10
|
|
data/lib/capybara/session.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
require 'capybara/session/matchers'
|
3
|
+
require 'addressable/uri'
|
3
4
|
|
4
5
|
module Capybara
|
5
6
|
|
@@ -125,7 +126,8 @@ module Capybara
|
|
125
126
|
begin
|
126
127
|
raise CapybaraError, "Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true"
|
127
128
|
rescue CapybaraError
|
128
|
-
|
129
|
+
#needed to get the cause set correctly in JRuby -- otherwise we could just do raise @server.error
|
130
|
+
raise @server.error, @server.error.message, @server.error.backtrace
|
129
131
|
end
|
130
132
|
end
|
131
133
|
ensure
|
@@ -167,7 +169,11 @@ module Capybara
|
|
167
169
|
# @return [String] Path of the current page, without any domain information
|
168
170
|
#
|
169
171
|
def current_path
|
170
|
-
|
172
|
+
# Addressable parsing is more lenient than URI
|
173
|
+
uri = Addressable::URI.parse(current_url)
|
174
|
+
# Addressable doesn't support opaque URIs - we want nil here
|
175
|
+
return nil if uri.scheme == "about"
|
176
|
+
path = uri.path
|
171
177
|
path if path and not path.empty?
|
172
178
|
end
|
173
179
|
|
@@ -428,6 +428,17 @@ Capybara::SpecHelper.spec "node" do
|
|
428
428
|
expect(e.cause.message).to match /Your application server raised an error/
|
429
429
|
end
|
430
430
|
end
|
431
|
+
|
432
|
+
it "sets an explanatory exception as the cause of server exceptions with errors with initializers", requires: [:server, :js], twtw: true do
|
433
|
+
skip "This version of ruby doesn't support exception causes" unless Exception.instance_methods.include? :cause
|
434
|
+
quietly { @session.visit("/other_error") }
|
435
|
+
expect do
|
436
|
+
@session.find(:css, 'span')
|
437
|
+
end.to raise_error(TestApp::TestAppOtherError) do |e|
|
438
|
+
expect(e.cause).to be_a Capybara::CapybaraError
|
439
|
+
expect(e.cause.message).to match /Your application server raised an error/
|
440
|
+
end
|
441
|
+
end
|
431
442
|
end
|
432
443
|
|
433
444
|
def be_an_invalid_element_error(session)
|
@@ -6,7 +6,12 @@ require 'yaml'
|
|
6
6
|
|
7
7
|
class TestApp < Sinatra::Base
|
8
8
|
class TestAppError < StandardError; end
|
9
|
-
|
9
|
+
class TestAppOtherError < StandardError
|
10
|
+
def initialize(string1, msg)
|
11
|
+
@something = string1
|
12
|
+
@message = msg
|
13
|
+
end
|
14
|
+
end
|
10
15
|
set :root, File.dirname(__FILE__)
|
11
16
|
set :static, true
|
12
17
|
set :raise_errors, true
|
@@ -125,6 +130,10 @@ class TestApp < Sinatra::Base
|
|
125
130
|
raise TestAppError, "some error"
|
126
131
|
end
|
127
132
|
|
133
|
+
get '/other_error' do
|
134
|
+
raise TestAppOtherError.new("something", "other error")
|
135
|
+
end
|
136
|
+
|
128
137
|
get '/load_error' do
|
129
138
|
raise LoadError
|
130
139
|
end
|
data/lib/capybara/version.rb
CHANGED
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.10.
|
4
|
+
version: 2.10.2
|
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: 2016-
|
13
|
+
date: 2016-11-30 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: nokogiri
|
@@ -422,7 +422,7 @@ files:
|
|
422
422
|
- spec/server_spec.rb
|
423
423
|
- spec/shared_selenium_session.rb
|
424
424
|
- spec/spec_helper.rb
|
425
|
-
homepage: https://github.com/
|
425
|
+
homepage: https://github.com/teamcapybara/capybara
|
426
426
|
licenses:
|
427
427
|
- MIT
|
428
428
|
metadata: {}
|
@@ -442,7 +442,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
442
442
|
version: '0'
|
443
443
|
requirements: []
|
444
444
|
rubyforge_project:
|
445
|
-
rubygems_version: 2.5.
|
445
|
+
rubygems_version: 2.5.2
|
446
446
|
signing_key:
|
447
447
|
specification_version: 4
|
448
448
|
summary: Capybara aims to simplify the process of integration testing Rack applications,
|