1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
use strict;
use warnings;
use autodie;
use Test::Fatal;
use Test::More;
use lib 't/lib';
use Test::MaxMind::DB::Reader;
use MaxMind::DB::Reader;
{
my $filename = 'MaxMind-DB-test-ipv4-24.mmdb';
my $reader = MaxMind::DB::Reader->new(
file => "maxmind-db/test-data/$filename" );
isa_ok(
$reader, 'MaxMind::DB::Reader::XS',
'MaxMind::DB::Reader->new()'
);
my $metadata = $reader->metadata;
my $mmdb_record = $reader->record_for_address('1.1.1.32');
$reader = undef;
is_deeply(
$mmdb_record,
{ ip => '1.1.1.32' },
'string in entry data is still valid after mmdb free'
);
is(
$metadata->description->{en},
'Test Database',
'string from metadata is still valid after mmdb free'
);
}
{
my $filename = 'MaxMind-DB-test-decoder.mmdb';
my $reader = MaxMind::DB::Reader->new(
file => "maxmind-db/test-data/$filename" );
my $mmdb_record = $reader->record_for_address('1.1.1.1');
is(
exception { $mmdb_record->{boolean} = 'foo' },
undef,
'returned boolean values are not read-only'
);
}
done_testing();
|