Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fix for AS Gzip returning a UTF-8 string in Ruby 1.9 when it is actua…

…lly binary [#6386 state:resolved]

Signed-off-by: José Valim <jose.valim@gmail.com>
  • Loading branch information...
commit 3eb25fb8806c0b161d2d1d9cb22d0bdfc7b0ce63 1 parent 5046120
@joshk joshk authored josevalim committed
View
4 activesupport/lib/active_support/gzip.rb
@@ -5,6 +5,10 @@ module ActiveSupport
# A convenient wrapper for the zlib standard library that allows compression/decompression of strings with gzip.
module Gzip
class Stream < StringIO
+ def initialize(*)
+ super
+ set_encoding "BINARY" if "".encoding_aware?
+ end
def close; rewind; end
end
View
10 activesupport/test/gzip_test.rb
@@ -4,4 +4,14 @@ class GzipTest < Test::Unit::TestCase
def test_compress_should_decompress_to_the_same_value
assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World"))
end
+
+ def test_compress_should_return_a_binary_string
+ compressed = ActiveSupport::Gzip.compress('')
+
+ if "".encoding_aware?
+ assert_equal Encoding.find('binary'), compressed.encoding
+ end
+
+ assert !compressed.blank?, "a compressed blank string should not be blank"
+ end
end
Please sign in to comment.
Something went wrong with that request. Please try again.