frameworks-capybara 0.2.18 → 0.2.19

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- frameworks-capybara (0.2.18)
4
+ frameworks-capybara (0.2.19)
5
5
  capybara (>= 1.0.0)
6
6
  capybara-celerity
7
7
  capybara-mechanize (>= 0.3.0)
@@ -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 503 or 404. This lets capybara continue the journey.
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 page.code == "503" or page.code == "404"
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
@@ -1,3 +1,3 @@
1
1
  module FrameworksCapybara
2
- VERSION = '0.2.18'
2
+ VERSION = '0.2.19'
3
3
  end
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: 51
5
- prerelease:
4
+ hash: 49
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 18
10
- version: 0.2.18
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-03 00:00:00 +01:00
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.6.0
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