Perl-UnQLite/t/03_tie.t
Kenichi Ishigaki 879640f4c5 fixed EXISTS
2013-07-04 13:40:10 +09:00

46 lines
1.1 KiB
Perl

use strict;
use Test::More;
use File::Temp qw(tempdir);
use UnQLite;
my $tmp = tempdir( CLEANUP => 1 );
{
my $db = UnQLite->open("$tmp/foo.db");
isa_ok($db, 'UnQLite');
ok($db->kv_store("foo", "bar"));
is($db->kv_fetch('foo'), 'bar');
ok($db->kv_delete('foo'));
is($db->kv_fetch('foo'), undef);
$db->kv_store('yay', 'yap');
$db->kv_append('yay', 'po');
is($db->kv_fetch('yay'), 'yappo');
is($db->rc,0);
}
{
ok -e "$tmp/foo.db", "foo.db exists";
tie my %hash, 'UnQLite', "$tmp/foo.db";
# stored data can be retrieved again?
is($hash{yay}, 'yappo');
$hash{foo} = 'baz';
is($hash{foo}, 'baz');
$hash{delete} = 'delete';
is(delete $hash{delete}, 'delete');
is(delete $hash{delete}, undef);
ok(exists $hash{foo});
ok(!exists $hash{delete});
is(join(" ", sort keys %hash), "foo yay");
is(join(" ", sort values %hash), "baz yappo");
is(scalar %hash, 2);
%hash = ();
is(join(" ", sort keys %hash), "");
is(join(" ", sort values %hash), "");
is(scalar %hash, undef);
}
done_testing;