Skip to content

Commit

Permalink
Showing 3 changed files with 37 additions and 29 deletions.
25 changes: 14 additions & 11 deletions test/test_helper.rb
Original file line number Diff line number Diff line change
@@ -105,18 +105,21 @@ def run_in_sub_runtime(script)
def assert_in_sub_runtime(script)
assert run_in_sub_runtime(script)
end
end

require 'test/unit'

class Test::Unit::TestCase

unless method_defined?(:skip)
if method_defined?(:omit)
alias skip omit
else
def skip(msg = nil)
warn "Skipped: #{caller[0]} #{msg}"
def self.included(base)
if defined? Test::Unit::TestCase
if base < Test::Unit::TestCase
Test::Unit::TestCase.class_eval do
unless method_defined?(:skip)
if method_defined?(:omit)
alias skip omit
else
def skip(msg = nil)
warn "Skipped: #{caller[0]} #{msg}"
end
end
end
end
end
end
end
4 changes: 3 additions & 1 deletion test/test_java_extension.rb
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
require 'java'
require 'test/unit'
require 'test/test_helper'
require 'java'

class TestJavaExtension < Test::Unit::TestCase
include TestHelper

class TestParent < org.jruby.test.Parent
attr_accessor :result
37 changes: 20 additions & 17 deletions test/test_zlib.rb
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
require 'test/unit'
require 'test/test_helper'
require 'zlib'
require 'stringio'
require 'tempfile'

class TestZlib < Test::Unit::TestCase
include TestHelper

def teardown; File.unlink @filename if @filename; end

def test_inflate_deflate
@@ -12,7 +15,7 @@ def test_inflate_deflate
assert_equal(s, Zlib::Inflate.inflate(Zlib::Deflate.deflate(s, level)))
end
end

# Zlib::Inflate uses org.jruby.util.ZlibInflate for low-level decompression logic, which is built around
# java.util.zip.Inflater.
#
@@ -33,46 +36,46 @@ def test_inflate_should_be_finished_after_decompressing_full_unwrapped_stream
# This is not the ZIP archive itself; rather, it is the compressed representation
# of a deflated file inside the archive.
data = "K0ktLlFIzs8tKEotLs7Mz1MoLinKzEvnKqGxOABQSwECFwMUAAIACAAxKng3dpOMHR0AAAB4AAAACAANAAAAAAABAAAApIEAAAAAdGVzdC50eHRVVAUAAz76R0dVeAAAUEsFBgAAAAABAAEAQwAAAFgAAAAAAA=="

inflater = Zlib::Inflate.new(-Zlib::MAX_WBITS)

stream = StringIO.new(data.unpack('m*')[0])
assert_equal(actual, inflater.inflate(stream.read(nil, '')), "Unexpected result of decompression.")
assert(inflater.finished?, "Inflater should be finished after inflating all input.")
end

def test_gzip_reader_writer
@filename = "____temp_zlib_file";

Zlib::GzipWriter.open(@filename) { |z| z.puts 'HEH' }
Zlib::GzipReader.open(@filename) do |z|
assert_equal("HEH\n", z.gets)
assert_nil z.getc
assert z.eof?
end
File.unlink(@filename)

Zlib::GzipWriter.open(@filename) { |z| z.write "HEH\n" }
Zlib::GzipReader.open(@filename) do |z|
assert_equal("HEH\n", z.gets)
assert_nil z.getc
assert z.eof?
end
File.unlink(@filename)


z = Zlib::GzipWriter.open(@filename)
z.puts 'HOH'
z.puts 'foo|bar'
z.close

z = Zlib::GzipReader.open(@filename)
assert_equal("HOH\n", z.gets)
assert_equal("foo|", z.gets("|"))
assert_equal("bar\n", z.gets)
z.close
end

def test_native_exception_from_zlib_on_broken_header
corrupt = StringIO.new
corrupt.write('borkborkbork')
@@ -82,14 +85,14 @@ def test_native_exception_from_zlib_on_broken_header
rescue Zlib::GzipReader::Error
end
end

def test_deflate_positive_winbits
d = Zlib::Deflate.new(Zlib::DEFAULT_COMPRESSION, Zlib::MAX_WBITS)
d << 'hello'
res = d.finish
assert_equal("x\234\313H\315\311\311\a\000\006,\002\025", res)
end

# negative winbits means no header and no checksum.
def test_deflate_negative_winbits
d = Zlib::Deflate.new(Zlib::DEFAULT_COMPRESSION, -Zlib::MAX_WBITS)
@@ -115,7 +118,7 @@ def test_gzipreader_descriptor_leak

def test_wrap
content = StringIO.new "", "r+"

Zlib::GzipWriter.wrap(content) do |io|
io.write "hello\nworld\n"
end
@@ -129,7 +132,7 @@ def test_wrap
assert gin.eof?
gin.close
end

def test_each_line_no_block
@filename = "____temp_zlib_file";
Zlib::GzipWriter.open(@filename) { |io| io.write "hello\nworld\n" }
@@ -139,12 +142,12 @@ def test_each_line_no_block
lines << line
end
z.close

assert_equal(2, lines.size, lines.inspect)
assert_equal("hello\n", lines.first)
assert_equal("world\n", lines.last)
end

def test_each_line_block
@filename = "____temp_zlib_file";
Zlib::GzipWriter.open(@filename) { |io| io.write "hello\nworld\n" }
@@ -156,7 +159,7 @@ def test_each_line_block
end
assert_equal(2, lines.size, lines.inspect)
end

def test_empty_line
@filename = "____temp_zlib_file";
Zlib::GzipWriter.open(@filename) { |io| io.write "hello\nworld\n\ngoodbye\n" }
@@ -436,7 +439,7 @@ def self.create_gzip_stream(string)
def test_dup
d1 = Zlib::Deflate.new

data = "foo" * 10
data = "foo" * 10
d1 << data
d2 = d1.dup

@@ -728,7 +731,7 @@ def test_deflate_sync_flush_inflate
i = Zlib::Inflate.new(15+16)
"a".upto("z") do |c|
assert_equal(c, i.inflate(d.deflate(c, Zlib::SYNC_FLUSH)))
end
end
i.inflate(d.finish)
i.close
d.close

0 comments on commit f0e2a9d

Please sign in to comment.