From d50f39582b61e51d104a3fc4799163855d5a289b Mon Sep 17 00:00:00 2001 From: Marius Gavrilescu Date: Sat, 9 Dec 2017 20:36:50 +0200 Subject: [PATCH] LZMA compression + tests --- MANIFEST | 3 +- Makefile.PL | 4 ++- README | 4 ++- lib/Slob.pm | 30 ++++++++++++++---- t/Slob.t | 30 ++++++++++-------- t/freedict-lzma2.slob | Bin 0 -> 81718 bytes ...ict-01.slob => freedict-uncompressed.slob} | Bin 7 files changed, 48 insertions(+), 23 deletions(-) create mode 100644 t/freedict-lzma2.slob rename t/{freedict-01.slob => freedict-uncompressed.slob} (100%) diff --git a/MANIFEST b/MANIFEST index 823ea14..48b0971 100644 --- a/MANIFEST +++ b/MANIFEST @@ -3,5 +3,6 @@ Makefile.PL MANIFEST README t/Slob.t -t/freedict-01.slob +t/freedict-uncompressed.slob +t/freedict-lzma2.slob lib/Slob.pm diff --git a/Makefile.PL b/Makefile.PL index e336e8e..317d6c4 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -13,7 +13,9 @@ WriteMakefile( MIN_PERL_VERSION => '5.14.0', LICENSE => 'perl', SIGN => 1, - PREREQ_PM => {}, + PREREQ_PM => { + qw/Compress::Raw::Lzma 0/, + }, META_ADD => { dynamic_config => 0, resources => { diff --git a/README b/README index 9186721..b396344 100644 --- a/README +++ b/README @@ -12,7 +12,9 @@ To install this module type the following: DEPENDENCIES -This module requires no non-core modules and libraries. +This module requires these other modules and libraries: + + * Compress::Raw::Lzma COPYRIGHT AND LICENCE diff --git a/lib/Slob.pm b/lib/Slob.pm index 4b796cb..818ff78 100644 --- a/lib/Slob.pm +++ b/lib/Slob.pm @@ -10,12 +10,30 @@ use constant MAGIC => "!-1SLOB\x1F"; use Carp qw/croak verbose/; use Encode; +use Compress::Raw::Lzma; + +our %UNCOMPRESS = ( + '' => sub { $_[0] }, + 'lzma2' => sub { + my ($input) = @_; + my ($lzma2, $code, $output); + ($lzma2, $code) = Compress::Raw::Lzma::RawDecoder->new(Filter => Lzma::Filter::Lzma2()); + die "Error creating LZMA2 decoder: $code\n" unless $code == LZMA_OK; + $code = $lzma2->code($input, $output); + die "Did not reach end of stream" if $code == LZMA_OK; + die "Error decoding LZMA2: $code" if $code != LZMA_STREAM_END; + $output + } +); + sub new { my ($class, $path) = @_; - my $fh = - ref $path eq 'IO' - ? $path - : open my $fh, '<', $path or croak "Cannot open \"$path\": $!"; + my $fh; + if (ref $path eq 'IO') { + $fh = $path + } else { + open $fh, '<', $path or croak "Cannot open \"$path\": $!" + } my $self = bless {path => $path, fh => $fh}, $class; $self->{header} = $self->read_header; $self @@ -109,7 +127,7 @@ sub ftell { sub uncompress { my ($self, $data) = @_; - $data + $UNCOMPRESS{$self->{header}{compression}}->($data) } sub read_header { @@ -122,7 +140,7 @@ sub read_header { $self->{encoding} = $encoding; my $compression = $self->read_tiny_text; - die "Compression not yet supported" if $compression; + die "Compression '$compression' not yet supported" unless exists $UNCOMPRESS{$compression}; my %tags = $self->read_tags; my @content_types = $self->read_content_types; my $blob_count = $self->read_int; diff --git a/t/Slob.t b/t/Slob.t index 395c59e..ef2aa21 100644 --- a/t/Slob.t +++ b/t/Slob.t @@ -2,30 +2,32 @@ use strict; use warnings; -use Test::More tests => 7; +use Test::More tests => 13; BEGIN { use_ok('Slob') }; -my $slob = Slob->new('t/freedict-01.slob'); +for my $path (qw/freedict-uncompressed.slob freedict-lzma2.slob/) { + my $slob = Slob->new("t/$path"); -my $nr_of_entries = $slob->ref_count; + my $nr_of_entries = $slob->ref_count; -my $second_ref = $slob->seek_and_read_ref(4); -my $bin = $slob->seek_and_read_storage_bin($second_ref->{bin_index}); + my $second_ref = $slob->seek_and_read_ref(4); + my $bin = $slob->seek_and_read_storage_bin($second_ref->{bin_index}); -is $second_ref->{key}, 'abacus'; -is $second_ref->{bin_index}, 0; -is $second_ref->{item_index}, 161; -my $count = scalar @{$bin->{positions}}; -is $count, 637; + is $second_ref->{key}, 'abacus'; + is $second_ref->{bin_index}, 0; + is $second_ref->{item_index}, 161; + my $count = scalar @{$bin->{positions}}; + is $count, 637; -my $expected = <<'EOF'; + my $expected = <<'EOF';
abacus
æbəkəs
      1. Rechenbrett
      m
EOF -chomp $expected; -is $slob->get_entry_of_storage_bin($bin, $second_ref->{item_index}), $expected; + chomp $expected; + is $slob->get_entry_of_storage_bin($bin, $second_ref->{item_index}), $expected; -is $slob->seek_and_read_ref_and_data(4)->{data}, $expected; + is $slob->seek_and_read_ref_and_data(4)->{data}, $expected; +} diff --git a/t/freedict-lzma2.slob b/t/freedict-lzma2.slob new file mode 100644 index 0000000000000000000000000000000000000000..c8d64836efc794bdce7da1b4ee598c6460853623 GIT binary patch literal 81718 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