lz4-ruby 0.1.7-x86-mingw32 → 0.2.0-x86-mingw32

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a100986fd48ee5f814628a1a6abac6750bd2e69d
4
+ data.tar.gz: f2da6709979c16255d7f115c6e31e7d566cccb2a
5
+ SHA512:
6
+ metadata.gz: 79cf651cdf97b88b2070a730b7c85cee55a32ebed600a8d3aec3f1db93330b9af2b0a2101f90b0578ee311316c73d986e8d3c8b35f56a144a70d86052f7f5e43
7
+ data.tar.gz: 6d864710605c72f9a77da108518e56156ec8cd0c934c52d096e4ac7bc263a9b513f1a28c4f19b1e52e8086375b84b0c20e8a0aa70a0ba9bba60476e915ffd4c7
data/Gemfile CHANGED
@@ -6,9 +6,9 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "shoulda", ">= 0"
9
+ gem "rspec"
10
10
  gem "rdoc", "~> 3.12"
11
- gem "bundler", "~> 1.0.0"
11
+ gem "bundler"
12
12
  gem "jeweler", "~> 1.8.3"
13
13
  gem "rake-compiler", ">= 0"
14
14
  end
data/README.rdoc CHANGED
@@ -33,6 +33,7 @@ Tested on VirtualBox VM : 2-core / 4GB RAM (Host : Core i5-2520M / 8GB RAM).
33
33
 
34
34
  == TODO
35
35
 
36
+ * replace calloc() with xalloc() in lz4hc.c
36
37
  * Write API documents.
37
38
 
38
39
  == Copyright
@@ -40,6 +41,10 @@ Tested on VirtualBox VM : 2-core / 4GB RAM (Host : Core i5-2520M / 8GB RAM).
40
41
  Copyright (c) 2012 KOMIYA Atsushi.
41
42
  See LICENSE.txt for further details.
42
43
 
44
+ == Contributors
45
+
46
+ * Charles Oliver Nutter <headius at headius.com>
47
+
43
48
  == About LZ4
44
49
 
45
50
  This Rubygem includes LZ4 codes written by Yann Collet.
data/Rakefile CHANGED
@@ -36,14 +36,10 @@ Jeweler::RubygemsDotOrgTasks.new
36
36
  $gemspec = jeweler_tasks.gemspec
37
37
  $gemspec.version = jeweler_tasks.jeweler.version
38
38
 
39
- require 'rake/testtask'
40
- Rake::TestTask.new(:test) do |test|
41
- test.libs << 'lib' << 'test'
42
- test.pattern = 'test/**/test_*.rb'
43
- test.verbose = true
44
- end
39
+ require 'rspec/core/rake_task'
40
+ RSpec::Core::RakeTask.new(:spec)
45
41
 
46
- task :default => :test
42
+ task :default => :spec
47
43
 
48
44
  require 'rdoc/task'
49
45
  Rake::RDocTask.new do |rdoc|
@@ -83,15 +79,26 @@ end
83
79
 
84
80
  task "build:cross" => [:modify_gemspec_for_windows, :cross, :build] do
85
81
  file = "pkg/lz4-ruby-#{get_version}.gem"
86
- mv file, "#{file.ext}-x86-mingw32.gem"
87
82
  end
88
83
 
84
+ task "build:jruby" => [:modify_gemspec_for_jruby, :compile_jruby, :build]
85
+
89
86
  task :modify_gemspec_for_windows do
90
87
  $gemspec.extensions = []
91
88
  $gemspec.files.include("lib/?.?/*.so")
92
89
  $gemspec.platform = "x86-mingw32"
93
90
  end
94
91
 
92
+ task :modify_gemspec_for_jruby do
93
+ $gemspec.extensions = []
94
+ $gemspec.files.include("lib/*.jar")
95
+ $gemspec.platform = "java"
96
+ end
97
+
98
+ task :compile_jruby do
99
+ system 'mvn package'
100
+ end
101
+
95
102
  def get_version
96
103
  `cat VERSION`.chomp
97
104
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.2.0
data/lib/1.8/lz4ruby.so CHANGED
Binary file
data/lib/1.9/lz4ruby.so CHANGED
Binary file
data/lib/lz4-jruby.rb ADDED
@@ -0,0 +1,3 @@
1
+ require 'lz4ruby.jar'
2
+
3
+ com.headius.jruby.lz4.LZ4Library.new.load(JRuby.runtime, false)
data/lib/lz4-ruby.rb CHANGED
@@ -2,6 +2,8 @@ if /(mswin|mingw)/ =~ RUBY_PLATFORM
2
2
  /(\d+\.\d+)/ =~ RUBY_VERSION
3
3
  ver = $1
4
4
  require "#{ver}/lz4ruby.so"
5
+ elsif RUBY_PLATFORM == 'java'
6
+ require 'lz4-jruby'
5
7
  else
6
8
  require 'lz4ruby'
7
9
  end
data/pom.xml ADDED
@@ -0,0 +1,71 @@
1
+ <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3
+ <modelVersion>4.0.0</modelVersion>
4
+
5
+ <groupId>com.headius.jruby.lz4</groupId>
6
+ <artifactId>lz4ruby</artifactId>
7
+ <version>0.2.0</version>
8
+ <packaging>jar</packaging>
9
+
10
+ <name>lz4ruby</name>
11
+ <url>http://maven.apache.org</url>
12
+
13
+ <properties>
14
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
15
+ </properties>
16
+
17
+ <dependencies>
18
+ <dependency>
19
+ <groupId>junit</groupId>
20
+ <artifactId>junit</artifactId>
21
+ <version>3.8.1</version>
22
+ <scope>test</scope>
23
+ </dependency>
24
+ <dependency>
25
+ <groupId>net.jpountz.lz4</groupId>
26
+ <artifactId>lz4</artifactId>
27
+ <version>1.1.1</version>
28
+ </dependency>
29
+ <dependency>
30
+ <groupId>org.jruby</groupId>
31
+ <artifactId>jruby</artifactId>
32
+ <version>1.7.0</version>
33
+ <scope>provided</scope>
34
+ </dependency>
35
+ </dependencies>
36
+
37
+ <build>
38
+ <plugins>
39
+ <plugin>
40
+ <artifactId>maven-compiler-plugin</artifactId>
41
+ <version>3.1</version>
42
+ <configuration>
43
+ <source>1.6</source>
44
+ <target>1.6</target>
45
+ </configuration>
46
+ </plugin>
47
+ <plugin>
48
+ <groupId>org.apache.maven.plugins</groupId>
49
+ <artifactId>maven-shade-plugin</artifactId>
50
+ <version>2.0</version>
51
+ <configuration>
52
+ <relocations>
53
+ <relocation>
54
+ <pattern>net.jpountz</pattern>
55
+ <shadedPattern>com.headius.jruby.lz4.vendor.net.jpountz</shadedPattern>
56
+ </relocation>
57
+ </relocations>
58
+ <outputFile>${basedir}/lib/lz4ruby.jar</outputFile>
59
+ </configuration>
60
+ <executions>
61
+ <execution>
62
+ <phase>package</phase>
63
+ <goals>
64
+ <goal>shade</goal>
65
+ </goals>
66
+ </execution>
67
+ </executions>
68
+ </plugin>
69
+ </plugins>
70
+ </build>
71
+ </project>
@@ -8,7 +8,6 @@ rescue Bundler::BundlerError => e
8
8
  exit e.status_code
9
9
  end
10
10
  require 'test/unit'
11
- require 'shoulda'
12
11
 
13
12
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
13
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'ext/lz4ruby'))
@@ -24,5 +23,11 @@ EOS
24
23
 
25
24
  require 'lz4-ruby'
26
25
 
27
- class Test::Unit::TestCase
26
+ def generate_random_bytes(len)
27
+ result = []
28
+ len.times do |t|
29
+ result << rand(256)
30
+ end
31
+ return result.pack("C*")
28
32
  end
33
+
@@ -0,0 +1,50 @@
1
+ require './spec/helper'
2
+
3
+ describe "LZ4::compress" do
4
+ LOOP_COUNT = 257
5
+
6
+ context "give empty text" do
7
+ compressed = LZ4.compressHC("")
8
+ uncompressed = LZ4.uncompress(compressed)
9
+
10
+ it "should be able to uncompress" do
11
+ expect(uncompressed).to eql("")
12
+ end
13
+ end
14
+
15
+ context "give long text" do
16
+ text = "a" * 131073
17
+ compressed = LZ4.compressHC(text)
18
+ uncompressed = LZ4.uncompress(compressed)
19
+
20
+ it "should be able to uncompress" do
21
+ expect(uncompressed).to eql(text)
22
+ end
23
+ end
24
+
25
+ LOOP_COUNT.times do |t|
26
+ len = t + 1
27
+ text = "a" * len
28
+
29
+ context "give text of #{len} \"a\"'s" do
30
+ compressed = LZ4.compressHC(text)
31
+ uncompressed = LZ4.uncompress(compressed)
32
+ it "should be able to uncompress" do
33
+ expect(uncompressed).to eql(text)
34
+ end
35
+ end
36
+ end
37
+
38
+ LOOP_COUNT.times do |t|
39
+ len = t + 1
40
+ text = generate_random_bytes(len)
41
+
42
+ context "give text of #{len} bytes" do
43
+ compressed = LZ4.compressHC(text)
44
+ uncompressed = LZ4.uncompress(compressed)
45
+ it "should be able to uncompress" do
46
+ expect(uncompressed).to eql(text)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ require './spec/helper'
2
+
3
+ describe "LZ4::compress" do
4
+ LOOP_COUNT = 257
5
+
6
+ context "give empty text" do
7
+ compressed = LZ4.compress("")
8
+ uncompressed = LZ4.uncompress(compressed)
9
+
10
+ it "should be able to uncompress" do
11
+ expect(uncompressed).to eql("")
12
+ end
13
+ end
14
+
15
+ context "give long text" do
16
+ text = "a" * 131073
17
+ compressed = LZ4.compress(text)
18
+ uncompressed = LZ4.uncompress(compressed)
19
+
20
+ it "should be able to uncompress" do
21
+ expect(uncompressed).to eql(text)
22
+ end
23
+ end
24
+
25
+ LOOP_COUNT.times do |t|
26
+ len = t + 1
27
+ text = "a" * len
28
+
29
+ context "give text of #{len} \"a\"'s" do
30
+ compressed = LZ4.compress(text)
31
+ uncompressed = LZ4.uncompress(compressed)
32
+ it "should be able to uncompress" do
33
+ expect(uncompressed).to eql(text)
34
+ end
35
+ end
36
+ end
37
+
38
+ LOOP_COUNT.times do |t|
39
+ len = t + 1
40
+ text = generate_random_bytes(len)
41
+
42
+ context "give text of #{len} bytes" do
43
+ compressed = LZ4.compress(text)
44
+ uncompressed = LZ4.uncompress(compressed)
45
+ it "should be able to uncompress" do
46
+ expect(uncompressed).to eql(text)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,64 @@
1
+ package com.headius.jruby.lz4;
2
+
3
+ import net.jpountz.lz4.LZ4Compressor;
4
+ import net.jpountz.lz4.LZ4Factory;
5
+ import org.jruby.RubyInteger;
6
+ import org.jruby.RubyString;
7
+ import org.jruby.anno.JRubyMethod;
8
+ import org.jruby.runtime.ThreadContext;
9
+ import org.jruby.runtime.builtin.IRubyObject;
10
+ import org.jruby.util.ByteList;
11
+
12
+ public class LZ4Internal {
13
+ private static final LZ4Factory FACTORY = LZ4Factory.fastestInstance();
14
+
15
+ public static IRubyObject compress_internal(ThreadContext context, LZ4Compressor compressor, IRubyObject _header, IRubyObject _input, IRubyObject _in_size) {
16
+ RubyString input = _input.convertToString();
17
+ RubyString header = _header.convertToString();
18
+ RubyInteger in_size = _in_size.convertToInteger();
19
+
20
+ ByteList inputBL = input.getByteList();
21
+ int srcSize = (int)in_size.getLongValue();
22
+
23
+ ByteList headerBL = header.getByteList();
24
+ int headerSize = headerBL.getRealSize();
25
+
26
+ int bufSize = compressor.maxCompressedLength(srcSize);
27
+ byte[] buf = new byte[bufSize + headerSize];
28
+
29
+ System.arraycopy(headerBL.getUnsafeBytes(), headerBL.getBegin(), buf, 0, headerSize);
30
+
31
+ compressor.compress(inputBL.getUnsafeBytes(), inputBL.getBegin(), srcSize, buf, headerSize);
32
+
33
+ return RubyString.newStringNoCopy(context.runtime, buf);
34
+ }
35
+
36
+ @JRubyMethod(module = true)
37
+ public static IRubyObject compress(ThreadContext context, IRubyObject self, IRubyObject _header, IRubyObject _input, IRubyObject _in_size) {
38
+ return compress_internal(context, FACTORY.fastCompressor(), _header, _input, _in_size);
39
+ }
40
+
41
+ @JRubyMethod(module = true)
42
+ public static IRubyObject compressHC(ThreadContext context, IRubyObject self, IRubyObject _header, IRubyObject _input, IRubyObject _in_size) {
43
+ return compress_internal(context, FACTORY.highCompressor(), _header, _input, _in_size);
44
+ }
45
+
46
+ @JRubyMethod(required = 4, module = true)
47
+ public static IRubyObject uncompress(ThreadContext context, IRubyObject self, IRubyObject[] args) {
48
+ RubyString input = args[0].convertToString();
49
+ RubyInteger in_size = args[1].convertToInteger();
50
+ RubyInteger header_size = args[2].convertToInteger();
51
+ RubyInteger buf_size = args[3].convertToInteger();
52
+
53
+ ByteList inputBL = input.getByteList();
54
+ int inSize = (int)in_size.getLongValue();
55
+ int headerSize = (int)header_size.getLongValue();
56
+ int bufSize = (int)buf_size.getLongValue();
57
+
58
+ byte[] buf = new byte[bufSize];
59
+
60
+ FACTORY.decompressor().decompress(inputBL.getUnsafeBytes(), inputBL.getBegin() + headerSize, buf, 0, buf.length);
61
+
62
+ return RubyString.newStringNoCopy(context.runtime, buf);
63
+ }
64
+ }
@@ -0,0 +1,18 @@
1
+ package com.headius.jruby.lz4;
2
+
3
+ import java.io.IOException;
4
+ import org.jruby.Ruby;
5
+ import org.jruby.RubyModule;
6
+ import org.jruby.runtime.load.Library;
7
+
8
+ public class LZ4Library implements Library {
9
+
10
+ public void load(Ruby runtime, boolean wrap) throws IOException {
11
+ RubyModule lz4Internal = runtime.defineModule("LZ4Internal");
12
+
13
+ lz4Internal.defineAnnotatedMethods(LZ4Internal.class);
14
+
15
+ lz4Internal.defineClassUnder("Error", runtime.getStandardError(), runtime.getStandardError().getAllocator());
16
+ }
17
+
18
+ }
metadata CHANGED
@@ -1,13 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lz4-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 7
10
- version: 0.1.7
4
+ version: 0.2.0
11
5
  platform: x86-mingw32
12
6
  authors:
13
7
  - KOMIYA Atsushi
@@ -15,83 +9,55 @@ autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
11
 
18
- date: 2012-08-14 00:00:00 Z
12
+ date: 2013-12-02 00:00:00 Z
19
13
  dependencies:
20
14
  - !ruby/object:Gem::Dependency
21
- type: :development
22
- name: shoulda
23
- prerelease: false
24
15
  version_requirements: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
16
  requirements:
27
- - - ">="
17
+ - &id003
18
+ - ">="
28
19
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
20
  version: "0"
33
- requirement: *id001
34
- - !ruby/object:Gem::Dependency
35
21
  type: :development
36
- name: rdoc
22
+ name: rspec
37
23
  prerelease: false
24
+ requirement: *id001
25
+ - !ruby/object:Gem::Dependency
38
26
  version_requirements: &id002 !ruby/object:Gem::Requirement
39
- none: false
40
27
  requirements:
41
28
  - - ~>
42
29
  - !ruby/object:Gem::Version
43
- hash: 31
44
- segments:
45
- - 3
46
- - 12
47
30
  version: "3.12"
31
+ type: :development
32
+ name: rdoc
33
+ prerelease: false
48
34
  requirement: *id002
49
35
  - !ruby/object:Gem::Dependency
36
+ version_requirements: &id004 !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - *id003
50
39
  type: :development
51
40
  name: bundler
52
41
  prerelease: false
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
- none: false
42
+ requirement: *id004
43
+ - !ruby/object:Gem::Dependency
44
+ version_requirements: &id005 !ruby/object:Gem::Requirement
55
45
  requirements:
56
46
  - - ~>
57
47
  - !ruby/object:Gem::Version
58
- hash: 23
59
- segments:
60
- - 1
61
- - 0
62
- - 0
63
- version: 1.0.0
64
- requirement: *id003
65
- - !ruby/object:Gem::Dependency
48
+ version: 1.8.3
66
49
  type: :development
67
50
  name: jeweler
68
51
  prerelease: false
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ~>
73
- - !ruby/object:Gem::Version
74
- hash: 49
75
- segments:
76
- - 1
77
- - 8
78
- - 3
79
- version: 1.8.3
80
- requirement: *id004
52
+ requirement: *id005
81
53
  - !ruby/object:Gem::Dependency
54
+ version_requirements: &id006 !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - *id003
82
57
  type: :development
83
58
  name: rake-compiler
84
59
  prerelease: false
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- hash: 3
91
- segments:
92
- - 0
93
- version: "0"
94
- requirement: *id005
60
+ requirement: *id006
95
61
  description: Ruby bindings for LZ4. LZ4 is a very fast lossless compression algorithm.
96
62
  email: komiya.atsushi@gmail.com
97
63
  executables: []
@@ -122,41 +88,36 @@ files:
122
88
  - ext/lz4ruby/lz4ruby.c
123
89
  - lib/1.8/lz4ruby.so
124
90
  - lib/1.9/lz4ruby.so
91
+ - lib/lz4-jruby.rb
125
92
  - lib/lz4-ruby.rb
126
- - test/helper.rb
127
- - test/test_lz4-ruby.rb
93
+ - pom.xml
94
+ - spec/helper.rb
95
+ - spec/lz4_compressHC_spec.rb
96
+ - spec/lz4_compress_spec.rb
97
+ - src/main/java/com/headius/jruby/lz4/LZ4Internal.java
98
+ - src/main/java/com/headius/jruby/lz4/LZ4Library.java
128
99
  homepage: http://github.com/komiya-atsushi/lz4-ruby
129
100
  licenses:
130
101
  - MIT
102
+ metadata: {}
103
+
131
104
  post_install_message:
132
105
  rdoc_options: []
133
106
 
134
107
  require_paths:
135
108
  - lib
136
109
  required_ruby_version: !ruby/object:Gem::Requirement
137
- none: false
138
110
  requirements:
139
- - - ">="
140
- - !ruby/object:Gem::Version
141
- hash: 3
142
- segments:
143
- - 0
144
- version: "0"
111
+ - *id003
145
112
  required_rubygems_version: !ruby/object:Gem::Requirement
146
- none: false
147
113
  requirements:
148
- - - ">="
149
- - !ruby/object:Gem::Version
150
- hash: 3
151
- segments:
152
- - 0
153
- version: "0"
114
+ - *id003
154
115
  requirements: []
155
116
 
156
117
  rubyforge_project:
157
- rubygems_version: 1.8.24
118
+ rubygems_version: 2.0.14
158
119
  signing_key:
159
- specification_version: 3
120
+ specification_version: 4
160
121
  summary: Ruby bindings for LZ4 (Extremely Fast Compression algorithm).
161
122
  test_files: []
162
123
 
@@ -1,109 +0,0 @@
1
- require 'helper'
2
-
3
- class TestLz4Ruby < Test::Unit::TestCase
4
- LOOP_COUNT = 257
5
-
6
- srand(123)
7
-
8
- def self.random_bytes(len)
9
- result = []
10
- len.times do |t|
11
- result << rand(256)
12
- end
13
- return result.pack("C*")
14
- end
15
-
16
- context "LZ4::compress" do
17
- should "empty text" do
18
- compressed = LZ4::compress("")
19
- uncompressed = LZ4::uncompress(compressed)
20
- assert_equal("", uncompressed)
21
- end
22
-
23
- should "long text" do
24
- text = "a" * 131073
25
- compressed = LZ4.compress(text)
26
- uncompressed = LZ4.uncompress(compressed)
27
- assert_equal(text, uncompressed)
28
- end
29
-
30
- LOOP_COUNT.times do |t|
31
- len = t + 1
32
- text = "a" * len
33
-
34
- should "text of #{len} \"a\"'s" do
35
- compressed = LZ4::compress(text)
36
- uncompressed = LZ4::uncompress(compressed)
37
- assert_equal(text, uncompressed)
38
- end
39
- end
40
-
41
- LOOP_COUNT.times do |t|
42
- len = t + 1
43
- text = random_bytes(len)
44
-
45
- should "random text of #{len} bytes" do
46
- compressed = LZ4::compress(text)
47
- uncompressed = LZ4::uncompress(compressed)
48
- assert_equal(text, uncompressed)
49
- end
50
- end
51
-
52
- text = "b" * LOOP_COUNT
53
- LOOP_COUNT.times do |t|
54
- len = t + 1
55
- should "#{len} bytes substring of #{LOOP_COUNT} bytes \"b\"'s" do
56
- compressed = LZ4::compress(text, len)
57
- uncompressed = LZ4::uncompress(compressed)
58
- assert_equal(text[0, len], uncompressed)
59
- end
60
- end
61
- end
62
-
63
- context "LZ4::compressHC" do
64
- should "empty text" do
65
- compressed = LZ4::compressHC("")
66
- uncompressed = LZ4::uncompress(compressed)
67
- assert_equal("", uncompressed)
68
- end
69
-
70
- should "long text" do
71
- text = "a" * 131073
72
- compressed = LZ4.compressHC(text)
73
- uncompressed = LZ4.uncompress(compressed)
74
- assert_equal(text, uncompressed)
75
- end
76
-
77
- LOOP_COUNT.times do |t|
78
- len = t + 1
79
- text = "a" * len
80
-
81
- should "text of #{len} \"a\"'s" do
82
- compressed = LZ4::compressHC(text)
83
- uncompressed = LZ4::uncompress(compressed)
84
- assert_equal(text, uncompressed)
85
- end
86
- end
87
-
88
- LOOP_COUNT.times do |t|
89
- len = t + 1
90
- text = random_bytes(len)
91
-
92
- should "random text of #{len} bytes" do
93
- compressed = LZ4::compressHC(text)
94
- uncompressed = LZ4::uncompress(compressed)
95
- assert_equal(text, uncompressed)
96
- end
97
- end
98
-
99
- text = "b" * LOOP_COUNT
100
- LOOP_COUNT.times do |t|
101
- len = t + 1
102
- should "#{len} bytes substring of #{LOOP_COUNT} bytes \"b\"'s" do
103
- compressed = LZ4::compressHC(text, len)
104
- uncompressed = LZ4::uncompress(compressed)
105
- assert_equal(text[0, len], uncompressed)
106
- end
107
- end
108
- end
109
- end