frameworks-capybara 0.2.18 → 0.2.19
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.
- data/Gemfile.lock +1 -1
- data/lib/frameworks/cucumber.rb +4 -0
- data/lib/monkey-patches/mechanize-patches.rb +15 -2
- data/lib/version.rb +1 -1
- metadata +33 -33
data/Gemfile.lock
CHANGED
data/lib/frameworks/cucumber.rb
CHANGED
@@ -101,6 +101,10 @@ module Frameworks
|
|
101
101
|
|
102
102
|
#This is necessary because Mech2 does not ship with root certs like Mech1 did and boxes may not have the OpenSSL set installed
|
103
103
|
agent.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
104
|
+
|
105
|
+
# This prevents Mechanize from raising a Mechanize::ResponseCodeError
|
106
|
+
# when the HTTP Response Code is 404 or 503. This lets capybara continue the journey.
|
107
|
+
agent.agent.allowed_error_codes = ['404', '503']
|
104
108
|
end
|
105
109
|
|
106
110
|
def new_mechanize(http_proxy=nil)
|
@@ -58,8 +58,17 @@ end
|
|
58
58
|
=end
|
59
59
|
|
60
60
|
# This patch prevents Mechanize from raising a Mechanize::ResponseCodeError
|
61
|
-
# when the HTTP Response Code is
|
61
|
+
# when the HTTP Response Code is in `allowed_error_codes`.
|
62
|
+
# https://github.com/tenderlove/mechanize/pull/248
|
62
63
|
class Mechanize::HTTP::Agent
|
64
|
+
attr_accessor :allowed_error_codes
|
65
|
+
|
66
|
+
alias_method :old_initialize, :initialize
|
67
|
+
def initialize
|
68
|
+
@allowed_error_codes = []
|
69
|
+
old_initialize
|
70
|
+
end
|
71
|
+
|
63
72
|
def fetch uri, method = :get, headers = {}, params = [],
|
64
73
|
referer = current_page, redirects = 0
|
65
74
|
referer_uri = referer ? referer.uri : nil
|
@@ -156,7 +165,11 @@ class Mechanize::HTTP::Agent
|
|
156
165
|
referer)
|
157
166
|
else
|
158
167
|
# BEGIN PATCH
|
159
|
-
if
|
168
|
+
if @allowed_error_codes.any? {|code| code.to_s == page.code} then
|
169
|
+
if robots && page.is_a?(Mechanize::Page)
|
170
|
+
page.parser.noindex? and raise Mechanize::RobotsDisallowedError.new(uri)
|
171
|
+
end
|
172
|
+
|
160
173
|
page
|
161
174
|
else
|
162
175
|
raise Mechanize::ResponseCodeError.new(page, 'unhandled response')
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frameworks-capybara
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 49
|
5
|
+
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 19
|
10
|
+
version: 0.2.19
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- matt robbins
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-05 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -30,10 +30,10 @@ dependencies:
|
|
30
30
|
- 0
|
31
31
|
- 0
|
32
32
|
version: 1.0.0
|
33
|
-
version_requirements: *id001
|
34
|
-
prerelease: false
|
35
|
-
name: capybara
|
36
33
|
type: :runtime
|
34
|
+
name: capybara
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
- 3
|
47
47
|
- 0
|
48
48
|
version: 0.3.0
|
49
|
-
version_requirements: *id002
|
50
|
-
prerelease: false
|
51
|
-
name: capybara-mechanize
|
52
49
|
type: :runtime
|
50
|
+
name: capybara-mechanize
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: *id002
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
requirement: &id003 !ruby/object:Gem::Requirement
|
55
55
|
none: false
|
@@ -60,10 +60,10 @@ dependencies:
|
|
60
60
|
segments:
|
61
61
|
- 0
|
62
62
|
version: "0"
|
63
|
-
version_requirements: *id003
|
64
|
-
prerelease: false
|
65
|
-
name: json
|
66
63
|
type: :runtime
|
64
|
+
name: json
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: *id003
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
requirement: &id004 !ruby/object:Gem::Requirement
|
69
69
|
none: false
|
@@ -74,10 +74,10 @@ dependencies:
|
|
74
74
|
segments:
|
75
75
|
- 0
|
76
76
|
version: "0"
|
77
|
-
version_requirements: *id004
|
78
|
-
prerelease: false
|
79
|
-
name: headless
|
80
77
|
type: :runtime
|
78
|
+
name: headless
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: *id004
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
requirement: &id005 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
segments:
|
89
89
|
- 0
|
90
90
|
version: "0"
|
91
|
-
version_requirements: *id005
|
92
|
-
prerelease: false
|
93
|
-
name: capybara-celerity
|
94
91
|
type: :runtime
|
92
|
+
name: capybara-celerity
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: *id005
|
95
95
|
- !ruby/object:Gem::Dependency
|
96
96
|
requirement: &id006 !ruby/object:Gem::Requirement
|
97
97
|
none: false
|
@@ -102,10 +102,10 @@ dependencies:
|
|
102
102
|
segments:
|
103
103
|
- 0
|
104
104
|
version: "0"
|
105
|
-
version_requirements: *id006
|
106
|
-
prerelease: false
|
107
|
-
name: w3c_validators
|
108
105
|
type: :runtime
|
106
|
+
name: w3c_validators
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: *id006
|
109
109
|
- !ruby/object:Gem::Dependency
|
110
110
|
requirement: &id007 !ruby/object:Gem::Requirement
|
111
111
|
none: false
|
@@ -118,10 +118,10 @@ dependencies:
|
|
118
118
|
- 10
|
119
119
|
- 5
|
120
120
|
version: 0.10.5
|
121
|
-
version_requirements: *id007
|
122
|
-
prerelease: false
|
123
|
-
name: cucumber
|
124
121
|
type: :runtime
|
122
|
+
name: cucumber
|
123
|
+
prerelease: false
|
124
|
+
version_requirements: *id007
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
requirement: &id008 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
@@ -132,10 +132,10 @@ dependencies:
|
|
132
132
|
segments:
|
133
133
|
- 0
|
134
134
|
version: "0"
|
135
|
-
version_requirements: *id008
|
136
|
-
prerelease: false
|
137
|
-
name: rake
|
138
135
|
type: :development
|
136
|
+
name: rake
|
137
|
+
prerelease: false
|
138
|
+
version_requirements: *id008
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
requirement: &id009 !ruby/object:Gem::Requirement
|
141
141
|
none: false
|
@@ -148,10 +148,10 @@ dependencies:
|
|
148
148
|
- 0
|
149
149
|
- 0
|
150
150
|
version: 1.0.0
|
151
|
-
version_requirements: *id009
|
152
|
-
prerelease: false
|
153
|
-
name: rspec
|
154
151
|
type: :development
|
152
|
+
name: rspec
|
153
|
+
prerelease: false
|
154
|
+
version_requirements: *id009
|
155
155
|
description: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
|
156
156
|
email:
|
157
157
|
- mcrobbins@gmail.com
|
@@ -220,7 +220,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
220
220
|
requirements: []
|
221
221
|
|
222
222
|
rubyforge_project:
|
223
|
-
rubygems_version: 1.
|
223
|
+
rubygems_version: 1.3.7
|
224
224
|
signing_key:
|
225
225
|
specification_version: 3
|
226
226
|
summary: Gem to ease the pain of managing capybara driver config and provide a home for common utils and patches
|