snappy 0.0.17 → 0.3.0
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.
- checksums.yaml +5 -5
- data/.dockerignore +2 -0
- data/.github/workflows/main.yml +34 -0
- data/.github/workflows/publish.yml +34 -0
- data/.gitignore +2 -1
- data/.gitmodules +1 -1
- data/Dockerfile +13 -0
- data/Gemfile +4 -0
- data/README.md +29 -5
- data/Rakefile +32 -29
- data/ext/api.c +6 -1
- data/ext/extconf.rb +23 -16
- data/lib/snappy/hadoop/reader.rb +62 -0
- data/lib/snappy/hadoop/writer.rb +51 -0
- data/lib/snappy/hadoop.rb +22 -0
- data/lib/snappy/reader.rb +14 -10
- data/lib/snappy/shim.rb +1 -1
- data/lib/snappy/version.rb +1 -1
- data/lib/snappy.rb +5 -4
- data/snappy.gemspec +13 -13
- data/test/hadoop/snappy_hadoop_reader_test.rb +115 -0
- data/test/hadoop/snappy_hadoop_writer_test.rb +48 -0
- data/test/snappy_hadoop_test.rb +26 -0
- data/test/snappy_reader_test.rb +148 -0
- data/test/snappy_test.rb +95 -0
- data/test/snappy_writer_test.rb +55 -0
- data/test/test_helper.rb +7 -0
- data/test.sh +3 -0
- data/vendor/snappy/CMakeLists.txt +297 -0
- data/vendor/snappy/CONTRIBUTING.md +26 -0
- data/vendor/snappy/NEWS +40 -0
- data/vendor/snappy/{README → README.md} +27 -18
- data/vendor/snappy/cmake/SnappyConfig.cmake.in +33 -0
- data/vendor/snappy/cmake/config.h.in +62 -0
- data/vendor/snappy/docs/README.md +72 -0
- data/vendor/snappy/snappy-internal.h +22 -18
- data/vendor/snappy/snappy-stubs-internal.cc +1 -1
- data/vendor/snappy/snappy-stubs-internal.h +116 -38
- data/vendor/snappy/snappy-stubs-public.h.in +20 -46
- data/vendor/snappy/snappy-test.cc +26 -22
- data/vendor/snappy/snappy-test.h +24 -98
- data/vendor/snappy/snappy.cc +380 -183
- data/vendor/snappy/snappy.h +14 -10
- data/vendor/snappy/snappy_compress_fuzzer.cc +59 -0
- data/vendor/snappy/snappy_uncompress_fuzzer.cc +57 -0
- data/vendor/snappy/snappy_unittest.cc +236 -261
- metadata +37 -92
- data/.travis.yml +0 -26
- data/smoke.sh +0 -8
- data/test/test-snappy-reader.rb +0 -129
- data/test/test-snappy-writer.rb +0 -55
- data/test/test-snappy.rb +0 -58
- data/vendor/snappy/ChangeLog +0 -2468
- data/vendor/snappy/INSTALL +0 -370
- data/vendor/snappy/Makefile +0 -982
- data/vendor/snappy/Makefile.am +0 -26
- data/vendor/snappy/Makefile.in +0 -982
- data/vendor/snappy/aclocal.m4 +0 -9738
- data/vendor/snappy/autogen.sh +0 -12
- data/vendor/snappy/autom4te.cache/output.0 +0 -18856
- data/vendor/snappy/autom4te.cache/output.1 +0 -18852
- data/vendor/snappy/autom4te.cache/requests +0 -297
- data/vendor/snappy/autom4te.cache/traces.0 +0 -2689
- data/vendor/snappy/autom4te.cache/traces.1 +0 -714
- data/vendor/snappy/config.guess +0 -1530
- data/vendor/snappy/config.h +0 -135
- data/vendor/snappy/config.h.in +0 -134
- data/vendor/snappy/config.log +0 -1640
- data/vendor/snappy/config.status +0 -2318
- data/vendor/snappy/config.sub +0 -1773
- data/vendor/snappy/configure +0 -18852
- data/vendor/snappy/configure.ac +0 -134
- data/vendor/snappy/depcomp +0 -688
- data/vendor/snappy/install-sh +0 -527
- data/vendor/snappy/libtool +0 -10246
- data/vendor/snappy/ltmain.sh +0 -9661
- data/vendor/snappy/m4/gtest.m4 +0 -74
- data/vendor/snappy/m4/libtool.m4 +0 -8001
- data/vendor/snappy/m4/ltoptions.m4 +0 -384
- data/vendor/snappy/m4/ltsugar.m4 +0 -123
- data/vendor/snappy/m4/ltversion.m4 +0 -23
- data/vendor/snappy/m4/lt~obsolete.m4 +0 -98
- data/vendor/snappy/missing +0 -331
- data/vendor/snappy/snappy-stubs-public.h +0 -100
- data/vendor/snappy/snappy.pc +0 -10
- data/vendor/snappy/snappy.pc.in +0 -10
- data/vendor/snappy/stamp-h1 +0 -1
metadata
CHANGED
@@ -1,57 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: snappy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- miyucy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
12
|
-
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '1.3'
|
20
|
-
type: :development
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - "~>"
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '1.3'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: minitest
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
|
-
type: :development
|
49
|
-
prerelease: false
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
51
|
-
requirements:
|
52
|
-
- - ">="
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
11
|
+
date: 2022-03-15 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
55
13
|
description: libsnappy binding for Ruby
|
56
14
|
email:
|
57
15
|
- fistfvck@gmail.com
|
@@ -60,9 +18,12 @@ extensions:
|
|
60
18
|
- ext/extconf.rb
|
61
19
|
extra_rdoc_files: []
|
62
20
|
files:
|
21
|
+
- ".dockerignore"
|
22
|
+
- ".github/workflows/main.yml"
|
23
|
+
- ".github/workflows/publish.yml"
|
63
24
|
- ".gitignore"
|
64
25
|
- ".gitmodules"
|
65
|
-
-
|
26
|
+
- Dockerfile
|
66
27
|
- Gemfile
|
67
28
|
- LICENSE.txt
|
68
29
|
- README.md
|
@@ -72,52 +33,33 @@ files:
|
|
72
33
|
- ext/java/src/SnappyExtService.java
|
73
34
|
- ext/java/src/snappy/SnappyModule.java
|
74
35
|
- lib/snappy.rb
|
36
|
+
- lib/snappy/hadoop.rb
|
37
|
+
- lib/snappy/hadoop/reader.rb
|
38
|
+
- lib/snappy/hadoop/writer.rb
|
75
39
|
- lib/snappy/reader.rb
|
76
40
|
- lib/snappy/shim.rb
|
77
41
|
- lib/snappy/version.rb
|
78
42
|
- lib/snappy/writer.rb
|
79
|
-
- smoke.sh
|
80
43
|
- snappy.gemspec
|
81
|
-
- test
|
82
|
-
- test/
|
83
|
-
- test/
|
44
|
+
- test.sh
|
45
|
+
- test/hadoop/snappy_hadoop_reader_test.rb
|
46
|
+
- test/hadoop/snappy_hadoop_writer_test.rb
|
47
|
+
- test/snappy_hadoop_test.rb
|
48
|
+
- test/snappy_reader_test.rb
|
49
|
+
- test/snappy_test.rb
|
50
|
+
- test/snappy_writer_test.rb
|
51
|
+
- test/test_helper.rb
|
84
52
|
- vendor/snappy/AUTHORS
|
53
|
+
- vendor/snappy/CMakeLists.txt
|
54
|
+
- vendor/snappy/CONTRIBUTING.md
|
85
55
|
- vendor/snappy/COPYING
|
86
|
-
- vendor/snappy/ChangeLog
|
87
|
-
- vendor/snappy/INSTALL
|
88
|
-
- vendor/snappy/Makefile
|
89
|
-
- vendor/snappy/Makefile.am
|
90
|
-
- vendor/snappy/Makefile.in
|
91
56
|
- vendor/snappy/NEWS
|
92
|
-
- vendor/snappy/README
|
93
|
-
- vendor/snappy/
|
94
|
-
- vendor/snappy/
|
95
|
-
- vendor/snappy/
|
96
|
-
- vendor/snappy/autom4te.cache/output.1
|
97
|
-
- vendor/snappy/autom4te.cache/requests
|
98
|
-
- vendor/snappy/autom4te.cache/traces.0
|
99
|
-
- vendor/snappy/autom4te.cache/traces.1
|
100
|
-
- vendor/snappy/config.guess
|
101
|
-
- vendor/snappy/config.h
|
102
|
-
- vendor/snappy/config.h.in
|
103
|
-
- vendor/snappy/config.log
|
104
|
-
- vendor/snappy/config.status
|
105
|
-
- vendor/snappy/config.sub
|
106
|
-
- vendor/snappy/configure
|
107
|
-
- vendor/snappy/configure.ac
|
108
|
-
- vendor/snappy/depcomp
|
57
|
+
- vendor/snappy/README.md
|
58
|
+
- vendor/snappy/cmake/SnappyConfig.cmake.in
|
59
|
+
- vendor/snappy/cmake/config.h.in
|
60
|
+
- vendor/snappy/docs/README.md
|
109
61
|
- vendor/snappy/format_description.txt
|
110
62
|
- vendor/snappy/framing_format.txt
|
111
|
-
- vendor/snappy/install-sh
|
112
|
-
- vendor/snappy/libtool
|
113
|
-
- vendor/snappy/ltmain.sh
|
114
|
-
- vendor/snappy/m4/gtest.m4
|
115
|
-
- vendor/snappy/m4/libtool.m4
|
116
|
-
- vendor/snappy/m4/ltoptions.m4
|
117
|
-
- vendor/snappy/m4/ltsugar.m4
|
118
|
-
- vendor/snappy/m4/ltversion.m4
|
119
|
-
- vendor/snappy/m4/lt~obsolete.m4
|
120
|
-
- vendor/snappy/missing
|
121
63
|
- vendor/snappy/snappy-c.cc
|
122
64
|
- vendor/snappy/snappy-c.h
|
123
65
|
- vendor/snappy/snappy-internal.h
|
@@ -125,20 +67,20 @@ files:
|
|
125
67
|
- vendor/snappy/snappy-sinksource.h
|
126
68
|
- vendor/snappy/snappy-stubs-internal.cc
|
127
69
|
- vendor/snappy/snappy-stubs-internal.h
|
128
|
-
- vendor/snappy/snappy-stubs-public.h
|
129
70
|
- vendor/snappy/snappy-stubs-public.h.in
|
130
71
|
- vendor/snappy/snappy-test.cc
|
131
72
|
- vendor/snappy/snappy-test.h
|
132
73
|
- vendor/snappy/snappy.cc
|
133
74
|
- vendor/snappy/snappy.h
|
134
|
-
- vendor/snappy/
|
135
|
-
- vendor/snappy/
|
75
|
+
- vendor/snappy/snappy_compress_fuzzer.cc
|
76
|
+
- vendor/snappy/snappy_uncompress_fuzzer.cc
|
136
77
|
- vendor/snappy/snappy_unittest.cc
|
137
|
-
- vendor/snappy/stamp-h1
|
138
78
|
homepage: http://github.com/miyucy/snappy
|
139
79
|
licenses:
|
140
80
|
- MIT
|
141
|
-
metadata:
|
81
|
+
metadata:
|
82
|
+
homepage_uri: http://github.com/miyucy/snappy
|
83
|
+
source_code_uri: http://github.com/miyucy/snappy
|
142
84
|
post_install_message:
|
143
85
|
rdoc_options: []
|
144
86
|
require_paths:
|
@@ -154,12 +96,15 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
96
|
- !ruby/object:Gem::Version
|
155
97
|
version: '0'
|
156
98
|
requirements: []
|
157
|
-
|
158
|
-
rubygems_version: 2.4.5
|
99
|
+
rubygems_version: 3.1.6
|
159
100
|
signing_key:
|
160
101
|
specification_version: 4
|
161
102
|
summary: libsnappy binding for Ruby
|
162
103
|
test_files:
|
163
|
-
- test/
|
164
|
-
- test/
|
165
|
-
- test/
|
104
|
+
- test/hadoop/snappy_hadoop_reader_test.rb
|
105
|
+
- test/hadoop/snappy_hadoop_writer_test.rb
|
106
|
+
- test/snappy_hadoop_test.rb
|
107
|
+
- test/snappy_reader_test.rb
|
108
|
+
- test/snappy_test.rb
|
109
|
+
- test/snappy_writer_test.rb
|
110
|
+
- test/test_helper.rb
|
data/.travis.yml
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
sudo: false
|
3
|
-
cache:
|
4
|
-
bundler: true
|
5
|
-
directories:
|
6
|
-
- "$HOME/.ccache"
|
7
|
-
rvm:
|
8
|
-
- 1.9.3
|
9
|
-
- 2.2
|
10
|
-
- 2.3
|
11
|
-
- 2.4
|
12
|
-
- jruby-19mode
|
13
|
-
env:
|
14
|
-
global:
|
15
|
-
- PATH="/usr/lib/ccache:$PATH"
|
16
|
-
before_install:
|
17
|
-
- gem install bundler
|
18
|
-
deploy:
|
19
|
-
provider: rubygems
|
20
|
-
api_key:
|
21
|
-
secure: Jwk5pSUD9dUb34fO4dLamqhQw9U/t/5pHX7l5LKE4e1MDlD9fq/KB/DFpRTSfA0s8XUu+NZYtRO+6GZBEBY5UjZyPcUk5izaQzMWANP6QEMI4mYheSFUXTGkimV8MFxo2Fp7itZBM9SsLccDp/59nmbhBUMdr4OECZtd1Igjz63AtRdD7JgZwhC2XqBVbcxyx78VcZH8r4JEZzpcnZjjGN9YwQFubhiPs0V2uTMp/kGSWeP4U3T71MrvRmDlu8QJTsTRsvhv+zDatFySzs2SGsn25+cUCOqWnb5vcwtCbfj7trY+DLO3FqZOvQlvDfvyOy9LlLRpovhu6w+L42Z2ZN5U1Ovz0bMjk5WGLlXRxCLTRqXihvJrtFuL/7B2YSXcWPBNt5HWFwtapEJDm+CJoKpqa/WB7gEgO+uAocHbRqbg64rnPLODOEH0xGeRNSXBA3P5JeVNYhvpFdX8LclRFaVpfYDDenzRV9zpIppMXSq3Suzw/nZPBL9cuuIsBYG6hnijhZertWIRjZqw8D/1wEBd6VT7cDQ+PsNBGKhvPBVd5Nb7Zh9YjwCv4BQHB6XekiKi7mGFN4X/6eTzudRYxG7KyrYqk9AQ6KmEv5U/Xv+Wcar86O49LtNqYykYKLknC9CiUwTDp4lkVD8D3LoIzkL2/AeZyI6NQso8tymB0CM=
|
22
|
-
gem: snappy
|
23
|
-
on:
|
24
|
-
tags: true
|
25
|
-
repo: miyucy/snappy
|
26
|
-
script: bundle exec rake && ./smoke.sh
|
data/smoke.sh
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
gem list | grep snappy && gem uninstall --force snappy
|
3
|
-
bundle exec rake clean build
|
4
|
-
gem install --no-ri --no-rdoc "$(ls pkg/snappy-*.gem)"
|
5
|
-
cat <<EOF | ruby
|
6
|
-
require 'snappy'
|
7
|
-
abort if Snappy.inflate(Snappy.deflate(File.read('smoke.sh'))) != File.read('smoke.sh')
|
8
|
-
EOF
|
data/test/test-snappy-reader.rb
DELETED
@@ -1,129 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require "minitest/spec"
|
3
|
-
require "snappy"
|
4
|
-
require "stringio"
|
5
|
-
|
6
|
-
describe Snappy::Reader do
|
7
|
-
before do
|
8
|
-
@buffer = StringIO.new
|
9
|
-
Snappy::Writer.new @buffer do |w|
|
10
|
-
w << "foo"
|
11
|
-
w << "bar"
|
12
|
-
w << "baz"
|
13
|
-
w << "quux"
|
14
|
-
end
|
15
|
-
@buffer.rewind
|
16
|
-
end
|
17
|
-
|
18
|
-
subject do
|
19
|
-
Snappy::Reader.new @buffer
|
20
|
-
end
|
21
|
-
|
22
|
-
describe :initialize do
|
23
|
-
it "should yield itself to the block" do
|
24
|
-
yielded = nil
|
25
|
-
returned = Snappy::Reader.new @buffer do |r|
|
26
|
-
yielded = r
|
27
|
-
end
|
28
|
-
returned.must_equal yielded
|
29
|
-
end
|
30
|
-
|
31
|
-
it "should read the header" do
|
32
|
-
subject.magic.must_equal Snappy::Writer::MAGIC
|
33
|
-
subject.default_version.must_equal Snappy::Writer::DEFAULT_VERSION
|
34
|
-
subject.minimum_compatible_version.must_equal Snappy::Writer::MINIMUM_COMPATIBLE_VERSION
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
describe :initialize_without_headers do
|
39
|
-
before do
|
40
|
-
@buffer = StringIO.new
|
41
|
-
@buffer << Snappy.deflate("HelloWorld" * 10)
|
42
|
-
@buffer.rewind
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should inflate with a magic header" do
|
46
|
-
subject.read.must_equal "HelloWorld" * 10
|
47
|
-
end
|
48
|
-
|
49
|
-
it "should not receive `length' in eaching" do
|
50
|
-
length = MiniTest::Mock.new.expect(:call, 0)
|
51
|
-
@buffer.stub(:length, length) do
|
52
|
-
subject.read
|
53
|
-
end
|
54
|
-
-> { length.verify }.must_raise MockExpectationError
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe :io do
|
59
|
-
it "should be a constructor argument" do
|
60
|
-
subject.io.must_equal @buffer
|
61
|
-
end
|
62
|
-
|
63
|
-
it "should not receive `length' in initializing" do
|
64
|
-
length = MiniTest::Mock.new.expect(:call, 0)
|
65
|
-
@buffer.stub(:length, length) do
|
66
|
-
Snappy::Reader.new @buffer
|
67
|
-
end
|
68
|
-
-> { length.verify }.must_raise MockExpectationError
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe :each do
|
73
|
-
before do
|
74
|
-
Snappy::Writer.new @buffer do |w|
|
75
|
-
w << "foo"
|
76
|
-
w << "bar"
|
77
|
-
w.dump!
|
78
|
-
w << "baz"
|
79
|
-
w << "quux"
|
80
|
-
end
|
81
|
-
@buffer.rewind
|
82
|
-
end
|
83
|
-
|
84
|
-
it "should yield each chunk" do
|
85
|
-
chunks = []
|
86
|
-
Snappy::Reader.new(@buffer).each do |chunk|
|
87
|
-
chunks << chunk
|
88
|
-
end
|
89
|
-
chunks.must_equal ["foobar", "bazquux"]
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
|
-
describe :read do
|
94
|
-
before do
|
95
|
-
Snappy::Writer.new @buffer do |w|
|
96
|
-
w << "foo"
|
97
|
-
w << "bar"
|
98
|
-
w << "baz"
|
99
|
-
w << "quux"
|
100
|
-
end
|
101
|
-
@buffer.rewind
|
102
|
-
end
|
103
|
-
|
104
|
-
it "should return the bytes" do
|
105
|
-
Snappy::Reader.new(@buffer).read.must_equal "foobarbazquux"
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
describe :each_line do
|
110
|
-
before do
|
111
|
-
Snappy::Writer.new @buffer do |w|
|
112
|
-
w << "foo\n"
|
113
|
-
w << "bar"
|
114
|
-
w.dump!
|
115
|
-
w << "baz\n"
|
116
|
-
w << "quux\n"
|
117
|
-
end
|
118
|
-
@buffer.rewind
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should yield each line" do
|
122
|
-
lines = []
|
123
|
-
Snappy::Reader.new(@buffer).each_line do |line|
|
124
|
-
lines << line
|
125
|
-
end
|
126
|
-
lines.must_equal ["foo", "barbaz", "quux"]
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
data/test/test-snappy-writer.rb
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
require "minitest/autorun"
|
2
|
-
require "minitest/spec"
|
3
|
-
require "snappy"
|
4
|
-
require "stringio"
|
5
|
-
|
6
|
-
describe Snappy::Writer do
|
7
|
-
before do
|
8
|
-
@buffer = StringIO.new
|
9
|
-
end
|
10
|
-
|
11
|
-
subject do
|
12
|
-
Snappy::Writer.new @buffer
|
13
|
-
end
|
14
|
-
|
15
|
-
describe :initialize do
|
16
|
-
it "should yield itself to the block" do
|
17
|
-
yielded = nil
|
18
|
-
returned = Snappy::Writer.new @buffer do |w|
|
19
|
-
yielded = w
|
20
|
-
end
|
21
|
-
returned.must_equal yielded
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should write the header" do
|
25
|
-
subject.io.string.must_equal [Snappy::Writer::MAGIC,
|
26
|
-
Snappy::Writer::DEFAULT_VERSION,
|
27
|
-
Snappy::Writer::MINIMUM_COMPATIBLE_VERSION].pack("a8NN")
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should dump on the end of yield" do
|
31
|
-
Snappy::Writer.new @buffer do |w|
|
32
|
-
w << "foo"
|
33
|
-
end
|
34
|
-
foo = Snappy.deflate "foo"
|
35
|
-
@buffer.string[16, @buffer.size - 16].must_equal [foo.size, foo].pack("Na#{foo.size}")
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
describe :io do
|
40
|
-
it "should be a constructor argument" do
|
41
|
-
io = StringIO.new
|
42
|
-
Snappy::Writer.new(io).io.must_equal io
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
describe :block_size do
|
47
|
-
it "should default to DEFAULT_BLOCK_SIZE" do
|
48
|
-
Snappy::Writer.new(StringIO.new).block_size.must_equal Snappy::Writer::DEFAULT_BLOCK_SIZE
|
49
|
-
end
|
50
|
-
|
51
|
-
it "should be settable via the constructor" do
|
52
|
-
Snappy::Writer.new(StringIO.new, 42).block_size.must_equal 42
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
data/test/test-snappy.rb
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
require 'minitest/autorun'
|
2
|
-
require 'minitest/spec'
|
3
|
-
require 'snappy'
|
4
|
-
|
5
|
-
describe Snappy do
|
6
|
-
T = [*'a'..'z', *'A'..'Z', *'0'..'9']
|
7
|
-
|
8
|
-
it 'well done' do
|
9
|
-
s = Array.new(1024){T.sample}.join
|
10
|
-
Snappy.inflate(Snappy.deflate s).must_equal(s)
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'well done (pair)' do
|
14
|
-
s = Array.new(1024){T.sample}.join
|
15
|
-
[
|
16
|
-
[:deflate, :inflate],
|
17
|
-
[:compress, :uncompress],
|
18
|
-
[:dump, :load],
|
19
|
-
].each do |(i, o)|
|
20
|
-
Snappy.__send__(o, (Snappy.__send__ i, s)).must_equal(s)
|
21
|
-
eval %{Snappy.#{o}(Snappy.#{i} s).must_equal(s)}
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
describe '#deflate' do
|
26
|
-
it 'can pass buffer' do
|
27
|
-
skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
|
28
|
-
s = 'a' * 1024
|
29
|
-
d = ' ' * 1024
|
30
|
-
r = Snappy.deflate(s, d)
|
31
|
-
d.must_be_same_as r
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
describe '#inflate' do
|
36
|
-
it 'can pass buffer' do
|
37
|
-
skip 'cannot pass buffer in jruby' if defined? JRUBY_VERSION
|
38
|
-
s = Snappy.deflate('a' * 1024)
|
39
|
-
d = ' ' * 1024
|
40
|
-
r = Snappy.inflate(s, d)
|
41
|
-
d.must_be_same_as r
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
describe '#valid?' do
|
46
|
-
it 'return true when passed deflated data' do
|
47
|
-
skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
|
48
|
-
d = Snappy.deflate(Array.new(1024){T.sample}.join)
|
49
|
-
Snappy.valid?(d).must_equal true
|
50
|
-
end
|
51
|
-
|
52
|
-
it 'return false when passed invalid data' do
|
53
|
-
skip 'snappy-jars does not have valid?' if defined? JRUBY_VERSION
|
54
|
-
d = Snappy.deflate(Array.new(1024){T.sample}.join).reverse
|
55
|
-
Snappy.valid?(d).must_equal false
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|