Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
d59a877d
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d59a877d
编写于
9月 22, 2012
作者:
B
Beyond
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
added compress options for gzip
added test for compress options of gzip update changelog
上级
a0380e80
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
2 deletion
+25
-2
activesupport/CHANGELOG.md
activesupport/CHANGELOG.md
+5
-0
activesupport/lib/active_support/gzip.rb
activesupport/lib/active_support/gzip.rb
+2
-2
activesupport/test/gzip_test.rb
activesupport/test/gzip_test.rb
+18
-0
未找到文件。
activesupport/CHANGELOG.md
浏览文件 @
d59a877d
## Rails 4.0.0 (unreleased) ##
*
ActiveSupport::Gzip.compress allows two optional arguments for compression
level and strategy.
*Beyond*
*
Modify
`TimeWithZone#as_json`
to include 3 decimal places of sub-second accuracy
by default, which is optional as per the ISO8601 spec, but extremely useful. Also
the default behaviour of Date#toJSON() in recent versions of Chrome, Safari and
...
...
activesupport/lib/active_support/gzip.rb
浏览文件 @
d59a877d
...
...
@@ -25,9 +25,9 @@ def self.decompress(source)
end
# Compresses a string using gzip.
def
self
.
compress
(
source
)
def
self
.
compress
(
source
,
level
=
Zlib
::
DEFAULT_COMPRESSION
,
strategy
=
Zlib
::
DEFAULT_STRATEGY
)
output
=
Stream
.
new
gz
=
Zlib
::
GzipWriter
.
new
(
output
)
gz
=
Zlib
::
GzipWriter
.
new
(
output
,
level
,
strategy
)
gz
.
write
(
source
)
gz
.
close
output
.
string
...
...
activesupport/test/gzip_test.rb
浏览文件 @
d59a877d
...
...
@@ -4,6 +4,12 @@
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 @@ def test_compress_should_return_a_binary_string
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
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录