diff options
author | Xavier Noria <fxn@hashref.com> | 2013-02-10 03:30:34 -0800 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2013-02-10 03:30:34 -0800 |
commit | 95dd699c3649a56cabf7676534ec2ef65f3341fe (patch) | |
tree | cded0188908b940f161b57532710b36c43f79d55 /activesupport/test/gzip_test.rb | |
parent | a0380e808d3dbd2462df17f5d3b7fcd8bd812496 (diff) | |
parent | d59a877da44848d28960ec9038056344a5c31c0d (diff) | |
download | rails-95dd699c3649a56cabf7676534ec2ef65f3341fe.tar.gz rails-95dd699c3649a56cabf7676534ec2ef65f3341fe.tar.bz2 rails-95dd699c3649a56cabf7676534ec2ef65f3341fe.zip |
Merge pull request #7730 from beyond/gzip
added compress options for gzip
Diffstat (limited to 'activesupport/test/gzip_test.rb')
-rw-r--r-- | activesupport/test/gzip_test.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/activesupport/test/gzip_test.rb b/activesupport/test/gzip_test.rb index 75a0505899..0e3cf3b429 100644 --- a/activesupport/test/gzip_test.rb +++ b/activesupport/test/gzip_test.rb @@ -4,6 +4,12 @@ require 'active_support/core_ext/object/blank' class GzipTest < ActiveSupport::TestCase def test_compress_should_decompress_to_the_same_value assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World")) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", Zlib::NO_COMPRESSION)) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", Zlib::BEST_SPEED)) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", Zlib::BEST_COMPRESSION)) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", nil, Zlib::FILTERED)) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", nil, Zlib::HUFFMAN_ONLY)) + assert_equal "Hello World", ActiveSupport::Gzip.decompress(ActiveSupport::Gzip.compress("Hello World", nil, nil)) end def test_compress_should_return_a_binary_string @@ -12,4 +18,16 @@ class GzipTest < ActiveSupport::TestCase assert_equal Encoding.find('binary'), compressed.encoding assert !compressed.blank?, "a compressed blank string should not be blank" end + + def test_compress_should_return_gzipped_string_by_compression_level + source_string = "Hello World"*100 + + gzipped_by_speed = ActiveSupport::Gzip.compress(source_string, Zlib::BEST_SPEED) + assert_equal 1, Zlib::GzipReader.new(StringIO.new(gzipped_by_speed)).level + + gzipped_by_best_compression = ActiveSupport::Gzip.compress(source_string, Zlib::BEST_COMPRESSION) + assert_equal 9, Zlib::GzipReader.new(StringIO.new(gzipped_by_best_compression)).level + + assert_equal true, (gzipped_by_best_compression.bytesize < gzipped_by_speed.bytesize) + end end |