ruby-openid 2.2.0 → 2.2.1
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.
Potentially problematic release.
This version of ruby-openid might be problematic. Click here for more details.
- data/lib/openid/fetchers.rb +5 -5
- data/lib/openid/version.rb +2 -2
- data/test/test_fetchers.rb +50 -0
- data/test/test_idres.rb +4 -4
- metadata +6 -5
data/lib/openid/fetchers.rb
CHANGED
@@ -238,15 +238,15 @@ module OpenID
|
|
238
238
|
|
239
239
|
private
|
240
240
|
def setup_encoding(response)
|
241
|
-
return unless defined?(
|
242
|
-
charset = response.type_params["charset"]
|
243
|
-
|
244
|
-
encoding = nil
|
241
|
+
return unless defined?(Encoding.default_external)
|
242
|
+
return unless charset = response.type_params["charset"]
|
243
|
+
|
245
244
|
begin
|
246
245
|
encoding = Encoding.find(charset)
|
247
246
|
rescue ArgumentError
|
248
247
|
end
|
249
|
-
encoding ||= Encoding
|
248
|
+
encoding ||= Encoding.default_external
|
249
|
+
|
250
250
|
body = response.body
|
251
251
|
if body.respond_to?(:force_encoding)
|
252
252
|
body.force_encoding(encoding)
|
data/lib/openid/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module OpenID
|
2
|
-
VERSION = "2.2.
|
3
|
-
end
|
2
|
+
VERSION = "2.2.1"
|
3
|
+
end
|
data/test/test_fetchers.rb
CHANGED
@@ -126,7 +126,28 @@ EOHTML
|
|
126
126
|
}
|
127
127
|
end
|
128
128
|
|
129
|
+
def _unencoded_page
|
130
|
+
lambda { |req, resp|
|
131
|
+
resp['Content-Type'] = "text/html"
|
132
|
+
body = "unencoded-body"
|
133
|
+
body.force_encoding("ASCII-8BIT") if body.respond_to?(:force_encoding)
|
134
|
+
resp.body = body
|
135
|
+
}
|
136
|
+
end
|
137
|
+
|
138
|
+
def _badly_encoded_page
|
139
|
+
lambda { |req, resp|
|
140
|
+
resp['Content-Type'] = "text/html; charset=wtf"
|
141
|
+
body = "badly-encoded-body"
|
142
|
+
body.force_encoding("ASCII-8BIT") if body.respond_to?(:force_encoding)
|
143
|
+
resp.body = body
|
144
|
+
}
|
145
|
+
end
|
146
|
+
|
129
147
|
def setup
|
148
|
+
if defined?(Encoding.default_external)
|
149
|
+
@encoding_was = Encoding.default_external
|
150
|
+
end
|
130
151
|
@fetcher = OpenID::StandardFetcher.new
|
131
152
|
@logfile = StringIO.new
|
132
153
|
@weblog = WEBrick::Log.new(logfile=@logfile)
|
@@ -152,6 +173,8 @@ EOHTML
|
|
152
173
|
@server.mount_proc('/post', _require_post)
|
153
174
|
@server.mount_proc('/redirect_loop', _redirect_loop)
|
154
175
|
@server.mount_proc('/utf8_page', _utf8_page)
|
176
|
+
@server.mount_proc('/unencoded_page', _unencoded_page)
|
177
|
+
@server.mount_proc('/badly_encoded_page', _badly_encoded_page)
|
155
178
|
@server.start
|
156
179
|
}
|
157
180
|
@uri = _uri_build
|
@@ -168,6 +191,9 @@ EOHTML
|
|
168
191
|
end
|
169
192
|
|
170
193
|
def teardown
|
194
|
+
if defined?(Encoding.default_external)
|
195
|
+
Encoding.default_external = @encoding_was
|
196
|
+
end
|
171
197
|
@server.shutdown
|
172
198
|
# Sleep a little because sometimes this blocks forever.
|
173
199
|
@server_thread.join
|
@@ -234,6 +260,30 @@ EOHTML
|
|
234
260
|
end
|
235
261
|
end
|
236
262
|
|
263
|
+
def test_unencoded_page
|
264
|
+
if defined?(Encoding.default_external)
|
265
|
+
Encoding.default_external = Encoding::SHIFT_JIS
|
266
|
+
end
|
267
|
+
uri = _uri_build('/unencoded_page')
|
268
|
+
response = @fetcher.fetch(uri)
|
269
|
+
assert_equal("unencoded-body", response.body)
|
270
|
+
if defined?(Encoding.default_external)
|
271
|
+
assert_equal(Encoding::US_ASCII, response.body.encoding)
|
272
|
+
end
|
273
|
+
end
|
274
|
+
|
275
|
+
def test_badly_encoded_page
|
276
|
+
if defined?(Encoding.default_external)
|
277
|
+
Encoding.default_external = Encoding::SHIFT_JIS
|
278
|
+
end
|
279
|
+
uri = _uri_build('/badly_encoded_page')
|
280
|
+
response = @fetcher.fetch(uri)
|
281
|
+
assert_equal("badly-encoded-body", response.body)
|
282
|
+
if defined?(Encoding.default_external)
|
283
|
+
assert_equal(Encoding::SHIFT_JIS, response.body.encoding)
|
284
|
+
end
|
285
|
+
end
|
286
|
+
|
237
287
|
def test_cases
|
238
288
|
for path, expected_code, expected_url in @@cases
|
239
289
|
uri = _uri_build(path)
|
data/test/test_idres.rb
CHANGED
@@ -63,7 +63,7 @@ module OpenID
|
|
63
63
|
[["openid1", OPENID1_NS, OPENID1_FIELDS],
|
64
64
|
["openid1", OPENID11_NS, OPENID1_FIELDS],
|
65
65
|
["openid2", OPENID2_NS, OPENID2_FIELDS],
|
66
|
-
].
|
66
|
+
].each_with_index do |(ver, ns, all_fields), i|
|
67
67
|
all_fields.each do |field|
|
68
68
|
test = lambda do
|
69
69
|
fields = all_fields.dup
|
@@ -74,7 +74,7 @@ module OpenID
|
|
74
74
|
idres.send(:check_for_fields)
|
75
75
|
}
|
76
76
|
end
|
77
|
-
define_method("test_#{ver}_check_missing_#{field}", test)
|
77
|
+
define_method("test_#{i}_#{ver}_check_missing_#{field}", test)
|
78
78
|
end
|
79
79
|
end
|
80
80
|
end
|
@@ -84,7 +84,7 @@ module OpenID
|
|
84
84
|
[["openid1", OPENID1_NS, OPENID1_FIELDS, OPENID1_SIGNED],
|
85
85
|
["openid1", OPENID11_NS, OPENID1_FIELDS, OPENID1_SIGNED],
|
86
86
|
["openid2", OPENID2_NS, OPENID2_FIELDS, OPENID2_SIGNED],
|
87
|
-
].
|
87
|
+
].each_with_index do |(ver, ns, all_fields, signed_fields), i|
|
88
88
|
signed_fields.each do |signed_field|
|
89
89
|
test = lambda do
|
90
90
|
fields = signed_fields.dup
|
@@ -97,7 +97,7 @@ module OpenID
|
|
97
97
|
idres.send(:check_for_fields)
|
98
98
|
}
|
99
99
|
end
|
100
|
-
define_method("test_#{ver}_check_missing_signed_#{signed_field}", test)
|
100
|
+
define_method("test_#{i}_#{ver}_check_missing_signed_#{signed_field}", test)
|
101
101
|
end
|
102
102
|
end
|
103
103
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-openid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire: openid
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-27 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description:
|
15
15
|
email: openid@janrain.com
|
@@ -218,7 +218,8 @@ files:
|
|
218
218
|
- LICENSE
|
219
219
|
- UPGRADE.md
|
220
220
|
homepage: https://github.com/openid/ruby-openid
|
221
|
-
licenses:
|
221
|
+
licenses:
|
222
|
+
- Apache Software License
|
222
223
|
post_install_message:
|
223
224
|
rdoc_options:
|
224
225
|
- --main
|
@@ -233,7 +234,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
233
234
|
version: '0'
|
234
235
|
segments:
|
235
236
|
- 0
|
236
|
-
hash:
|
237
|
+
hash: -2604511254745544054
|
237
238
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
238
239
|
none: false
|
239
240
|
requirements:
|
@@ -242,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
243
|
version: '0'
|
243
244
|
segments:
|
244
245
|
- 0
|
245
|
-
hash:
|
246
|
+
hash: -2604511254745544054
|
246
247
|
requirements: []
|
247
248
|
rubyforge_project:
|
248
249
|
rubygems_version: 1.8.23
|