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 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