lz4-ruby 0.3.1-java → 0.3.2-java

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0b0550566ae8059fe9f3fd846db15c7ee8ad0631
4
- data.tar.gz: 0c71cc2ea1124c5ec44239b4f9d74923ef4104ce
3
+ metadata.gz: 46342a69f114dbe815b41b9c16e576ccba9d3e54
4
+ data.tar.gz: b5d4f6518cb521d7a20686518cca2056d62d866e
5
5
  SHA512:
6
- metadata.gz: 56e8cf48de27bd2c6a20e4348db88def98775306cae4f2b3c41ea19205d187211245db97018ca4768df444aac6d822dc40c7262d1becea0c366cc7fc1e7733ae
7
- data.tar.gz: afeb6ced50eb7e54e2aebac74eab64ecb372b1366f146a1f3f547ebf406ed262ce5c045a35e4e5df07b527bfe9e64ed26fff53b59607add26ca6dfe5f68495f8
6
+ metadata.gz: f15c4c7f11535570d7d3cb2d07d4fca537e7e6f123985648a43e9be26fca26fb5385192a5df2a3e25702f4e14466e6415cc57eafff145c84413d38339c4a0083
7
+ data.tar.gz: 4649de937928772cf82a390643af99dff4a48c91a691addc03e09784e05d2b843551c6b1dba46918c83c07c363a6bb9f54b5f19abb1de06066c026d5049dcc22
@@ -1,9 +1,13 @@
1
1
  = ChangeLog
2
2
 
3
+ == 0.3.1
4
+
5
+ * Support raw data handling methods in JRuby
6
+
3
7
  == 0.3.0
4
8
 
5
- * Support raw data stream handling methods (but not worked in JRuby).
6
- * +LZ4.Raw.compress()+
7
- * +LZ4.Raw.compressHC()+
8
- * +LZ4.Raw.decompress()+
9
- * Rename +LZ4.uncompress()+ to +LZ4.decompress()+ .
9
+ * Support raw data handling methods (but not worked in JRuby).
10
+ * LZ4.Raw.compress()
11
+ * LZ4.Raw.compressHC()
12
+ * LZ4.Raw.decompress()
13
+ * Rename LZ4.uncompress() to LZ4.decompress().
data/Rakefile CHANGED
@@ -28,6 +28,8 @@ jeweler_tasks = Jeweler::Tasks.new do |gem|
28
28
 
29
29
  gem.files.include("ext/lz4ruby/*.c")
30
30
  gem.files.include("ext/lz4ruby/*.h")
31
+
32
+ gem.required_ruby_version = '>= 1.9'
31
33
 
32
34
  # dependencies defined in Gemfile
33
35
  end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.1
1
+ 0.3.2
@@ -17,15 +17,18 @@ class LZ4
17
17
  return _compress(input, in_size, true)
18
18
  end
19
19
 
20
- def self.decompress(input, in_size = nil)
21
- in_size = input.length if in_size == nil
20
+ def self.decompress(input, in_size = nil, encoding = nil)
21
+ in_size = input.bytesize if in_size == nil
22
22
  out_size, varbyte_len = decode_varbyte(input)
23
23
 
24
24
  if out_size < 0 || varbyte_len < 0
25
25
  raise "Compressed data is maybe corrupted"
26
26
  end
27
27
 
28
- return LZ4Internal::uncompress(input, in_size, varbyte_len, out_size)
28
+ result = LZ4Internal::uncompress(input, in_size, varbyte_len, out_size)
29
+ result.force_encoding(encoding) if encoding != nil
30
+
31
+ return result
29
32
  end
30
33
 
31
34
  # @deprecated Use {#decompress} and will be removed.
@@ -35,7 +38,7 @@ class LZ4
35
38
 
36
39
  private
37
40
  def self._compress(input, in_size, high_compression)
38
- in_size = input.length if in_size == nil
41
+ in_size = input.bytesize if in_size == nil
39
42
  header = encode_varbyte(in_size)
40
43
 
41
44
  if high_compression
@@ -66,7 +69,7 @@ class LZ4
66
69
 
67
70
  private
68
71
  def self.decode_varbyte(text)
69
- len = [text.length, 5].min
72
+ len = [text.bytesize, 5].min
70
73
  bytes = text[0, len].unpack("C*")
71
74
 
72
75
  varbyte_len = 0
@@ -86,7 +89,7 @@ class LZ4
86
89
  #
87
90
  # @param [String] source string to be compressed
88
91
  # @param [Hash] options
89
- # @option options [Fixnum] :input_size length of source to compress (must be less than or equal to `source.length`)
92
+ # @option options [Fixnum] :input_size byte size of source to compress (must be less than or equal to `source.bytesize`)
90
93
  # @option options [String] :dest output buffer which will receive compressed string
91
94
  # @option options [Fixnum] :max_output_size acceptable maximum output size
92
95
  # @return [String, Fixnum] compressed string and its length.
@@ -98,7 +101,7 @@ class LZ4
98
101
  #
99
102
  # @param [String] source string to be compressed
100
103
  # @param [Hash] options
101
- # @option options [Fixnum] :input_size length of source to compress (must be less than or equal to `source.length`)
104
+ # @option options [Fixnum] :input_size byte size of source to compress (must be less than or equal to `source.bytesize`)
102
105
  # @option options [String] :dest output buffer which will receive compressed string
103
106
  # @option options [Fixnum] :max_output_size acceptable maximum output size
104
107
  # @return [String, Fixnum] compressed string and its length.
@@ -106,15 +109,15 @@ class LZ4
106
109
  return _compress(source, true, options)
107
110
  end
108
111
 
109
- private
112
+ private
110
113
  def self._compress(source, high_compression, options = {})
111
114
  input_size = options[:input_size]
112
115
  if input_size == nil
113
- input_size = source.length
116
+ input_size = source.bytesize
114
117
 
115
118
  else
116
- if source.length < input_size
117
- raise ArgumentError, "`:input_size` (#{input_size}) must be less than or equal `source.length` (#{source.length})"
119
+ if source.bytesize < input_size
120
+ raise ArgumentError, "`:input_size` (#{input_size}) must be less than or equal `source.bytesize` (#{source.bytesize})"
118
121
  end
119
122
  end
120
123
 
@@ -123,14 +126,14 @@ class LZ4
123
126
  max_output_size = options[:max_output_size]
124
127
  if max_output_size == nil
125
128
  if dest != nil
126
- max_output_size = dest.length
129
+ max_output_size = dest.bytesize
127
130
  else
128
131
  max_output_size = input_size + (input_size / 255) + 16 if dest == nil
129
132
  end
130
133
 
131
134
  else
132
- if dest != nil && dest.length < max_output_size
133
- raise ArgumentError, "`:dest` buffer size (#{dest.length}) must be greater than or equal `:max_output_size` (#{max_output_size})"
135
+ if dest != nil && dest.bytesize < max_output_size
136
+ raise ArgumentError, "`:dest` buffer size (#{dest.bytesize}) must be greater than or equal `:max_output_size` (#{max_output_size})"
134
137
  end
135
138
  end
136
139
 
@@ -153,24 +156,24 @@ class LZ4
153
156
  # @param [String] source
154
157
  # @param [Fixnum] max_output_size
155
158
  # @param [Hash] options
156
- # @option options [Fixnum] :input_size length of source to decompress (must be less than or equal to `source.length`)
159
+ # @option options [Fixnum] :input_size byte size of source to decompress (must be less than or equal to `source.bytesize`)
157
160
  # @option options [String] :dest output buffer which will receive decompressed string
158
161
  # @return [String, Fixnum] decompressed string and its length.
159
162
  def self.decompress(source, max_output_size, options = {})
160
163
  input_size = options[:input_size]
161
164
  if input_size == nil
162
- input_size = source.length
165
+ input_size = source.bytesize
163
166
 
164
167
  else
165
- if source.length < input_size
166
- raise ArgumentError, "`:input_size` (#{input_size}) must be less than or equal `source.length` (#{source.length})"
168
+ if source.bytesize < input_size
169
+ raise ArgumentError, "`:input_size` (#{input_size}) must be less than or equal `source.bytesize` (#{source.bytesize})"
167
170
  end
168
171
  end
169
172
 
170
173
  dest = options[:dest]
171
174
 
172
- if dest != nil && dest.length < max_output_size
173
- raise ArgumentError, "`:dest` buffer size (#{dest.length}) must be greater than or equal `max_output_size` (#{max_output_size})"
175
+ if dest != nil && dest.bytesize < max_output_size
176
+ raise ArgumentError, "`:dest` buffer size (#{dest.bytesize}) must be greater than or equal `max_output_size` (#{max_output_size})"
174
177
  end
175
178
 
176
179
  result = LZ4Internal.decompress_raw(source, input_size, dest, max_output_size)
Binary file
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require './spec/helper'
2
4
 
3
5
  describe "LZ4::compress" do
@@ -5,24 +7,24 @@ describe "LZ4::compress" do
5
7
 
6
8
  context "give empty text" do
7
9
  compressed = LZ4.compressHC("")
8
- uncompressed = LZ4.uncompress(compressed)
10
+ decompressed = LZ4.decompress(compressed)
9
11
 
10
- it "should be able to uncompress" do
11
- expect(uncompressed).to eql("")
12
+ it "should be able to decompress" do
13
+ expect(decompressed).to eql("")
12
14
  end
13
15
  end
14
16
 
15
17
  context "give long text" do
16
18
  text = "a" * 131073
17
19
  compressed = LZ4.compressHC(text)
18
- uncompressed = LZ4.uncompress(compressed)
20
+ decompressed = LZ4.decompress(compressed)
19
21
 
20
22
  it "should be compressed length less than original text" do
21
- expect(compressed.size).to be < text.length
23
+ expect(compressed.bytesize).to be < text.bytesize
22
24
  end
23
25
 
24
- it "should be able to uncompress" do
25
- expect(uncompressed).to eql(text)
26
+ it "should be able to decompress" do
27
+ expect(decompressed).to eql(text)
26
28
  end
27
29
  end
28
30
 
@@ -32,12 +34,12 @@ describe "LZ4::compress" do
32
34
 
33
35
  context "give text of #{len} \"a\"'s" do
34
36
  compressed = LZ4.compressHC(text)
35
- uncompressed = LZ4.uncompress(compressed)
36
- it "should be able to uncompress" do
37
- expect(uncompressed).to eql(text)
37
+ decompressed = LZ4.decompress(compressed)
38
+ it "should be able to decompress" do
39
+ expect(decompressed).to eql(text)
38
40
  end
39
41
  end
40
- end
42
+ end
41
43
 
42
44
  LOOP_COUNT.times do |t|
43
45
  len = t + 1
@@ -45,10 +47,19 @@ describe "LZ4::compress" do
45
47
 
46
48
  context "give text of #{len} bytes" do
47
49
  compressed = LZ4.compressHC(text)
48
- uncompressed = LZ4.uncompress(compressed)
49
- it "should be able to uncompress" do
50
- expect(uncompressed).to eql(text)
50
+ decompressed = LZ4.decompress(compressed)
51
+ it "should be able to decompress" do
52
+ expect(decompressed).to eql(text)
51
53
  end
52
54
  end
53
- end
55
+ end
56
+
57
+ context "give UTF-8 text" do
58
+ text = "いろはにほへと"
59
+ compressed = LZ4.compressHC(text)
60
+ decompressed = LZ4.decompress(compressed, compressed.bytesize, "UTF-8")
61
+ it "should be able to decompress" do
62
+ expect(decompressed).to eql(text)
63
+ end
64
+ end
54
65
  end
@@ -1,3 +1,5 @@
1
+ # -*- coding: utf-8 -*-
2
+
1
3
  require './spec/helper'
2
4
 
3
5
  describe "LZ4::compress" do
@@ -5,24 +7,24 @@ describe "LZ4::compress" do
5
7
 
6
8
  context "give empty text" do
7
9
  compressed = LZ4.compress("")
8
- uncompressed = LZ4.uncompress(compressed)
10
+ decompressed = LZ4.decompress(compressed)
9
11
 
10
- it "should be able to uncompress" do
11
- expect(uncompressed).to eql("")
12
+ it "should be able to decompress" do
13
+ expect(decompressed).to eql("")
12
14
  end
13
15
  end
14
16
 
15
17
  context "give long text" do
16
18
  text = "a" * 131073
17
19
  compressed = LZ4.compress(text)
18
- uncompressed = LZ4.uncompress(compressed)
20
+ decompressed = LZ4.decompress(compressed)
19
21
 
20
22
  it "should be compressed length less than original text" do
21
23
  expect(compressed.size).to be < text.length
22
24
  end
23
25
 
24
- it "should be able to uncompress" do
25
- expect(uncompressed).to eql(text)
26
+ it "should be able to decompress" do
27
+ expect(decompressed).to eql(text)
26
28
  end
27
29
  end
28
30
 
@@ -32,9 +34,9 @@ describe "LZ4::compress" do
32
34
 
33
35
  context "give text of #{len} \"a\"'s" do
34
36
  compressed = LZ4.compress(text)
35
- uncompressed = LZ4.uncompress(compressed)
36
- it "should be able to uncompress" do
37
- expect(uncompressed).to eql(text)
37
+ decompressed = LZ4.decompress(compressed)
38
+ it "should be able to decompress" do
39
+ expect(decompressed).to eql(text)
38
40
  end
39
41
  end
40
42
  end
@@ -45,10 +47,19 @@ describe "LZ4::compress" do
45
47
 
46
48
  context "give text of #{len} bytes" do
47
49
  compressed = LZ4.compress(text)
48
- uncompressed = LZ4.uncompress(compressed)
49
- it "should be able to uncompress" do
50
- expect(uncompressed).to eql(text)
50
+ decompressed = LZ4.decompress(compressed)
51
+ it "should be able to decompress" do
52
+ expect(decompressed).to eql(text)
51
53
  end
52
54
  end
53
55
  end
56
+
57
+ context "give UTF-8 text" do
58
+ text = "いろはにほへと"
59
+ compressed = LZ4.compress(text)
60
+ decompressed = LZ4.decompress(compressed, compressed.bytesize, "UTF-8")
61
+ it "should be able to decompress" do
62
+ expect(decompressed).to eql(text)
63
+ end
64
+ end
54
65
  end
@@ -54,7 +54,7 @@ describe "LZ4::Raw::compress" do
54
54
  it "should be thrown ArgumentError" do
55
55
  expect {
56
56
  compressed, size = LZ4::Raw.compress(text, :input_size => input_size)
57
- }.to raise_error(ArgumentError, "`:input_size` (30) must be less than or equal `source.length` (20)")
57
+ }.to raise_error(ArgumentError, "`:input_size` (30) must be less than or equal `source.bytesize` (20)")
58
58
  end
59
59
  end
60
60
  end
@@ -55,7 +55,7 @@ describe "LZ4::Raw.decompress" do
55
55
  it "should be thrown ArgumentError" do
56
56
  expect {
57
57
  decompressed, size = LZ4::Raw.decompress(compressed.pack("C*"), 30, :input_size => input_size)
58
- }.to raise_error ArgumentError, "`:input_size` (20) must be less than or equal `source.length` (#{compressed.length})"
58
+ }.to raise_error ArgumentError, "`:input_size` (20) must be less than or equal `source.bytesize` (#{compressed.length})"
59
59
  end
60
60
  end
61
61
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lz4-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: java
6
6
  authors:
7
7
  - KOMIYA Atsushi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-30 00:00:00.000000000 Z
11
+ date: 2014-05-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -131,7 +131,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
131
  requirements:
132
132
  - - '>='
133
133
  - !ruby/object:Gem::Version
134
- version: '0'
134
+ version: '1.9'
135
135
  required_rubygems_version: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - '>='