FlatFile-DataStore
view release on metacpan or search on metacpan
t/001-datastore.t view on Meta::CPAN
"create()" );
my $data = $record->data();
is( $data, "This is testing record1.", "data()" );
my $keynum = $record->keynum();
is( $keynum, 0, "keynum()" );
my $user = $record->user();
is( $user, "Testing1", "user()" );
my $string = $record->preamble_string();
is( $string, "++${yyyymmdd}01002410000----------Testing1 ", "string()" );
my $indicator = $record->indicator();
is( $indicator, "+", "indicator()" );
my $transind = $record->transind();
is( $transind, "+", "transind()" );
my $date = $record->date();
is( $date, $yyyy_mm_dd, "date()" );
my $reclen = $record->reclen();
is( $reclen, 24, "reclen()" );
my $transnum = $record->transnum();
is( $transnum, 1, "transnum()" );
my $thisfnum = $record->thisfnum();
is( $thisfnum, "1", "thisfnum()" );
my $thisseek = $record->thisseek();
is( $thisseek, 0, "thisseek()" );
my $record2 = $ds->retrieve( $keynum );
my $recdump1 = Dumper $record;
my $recdump2 = Dumper $record2;
is( $recdump1, $recdump2, "retrieve()" );
ok( $record->is_created, "is_created()" );
ok( $record2->is_created, "is_created()" );
my $updrec = $ds->update({ record => $record, data => "Updated Record", user => "Updated1" });
my $rec_data = $updrec->data;
is( $rec_data, "Updated Record", "rec->data()" );
is( $updrec->user, "Updated1", "rec->user()" );
ok( $updrec->is_updated, "is_updated()" );
my $delrec = $ds->delete( $updrec );
is( $delrec->indicator, $ds->crud()->{'delete'}, "deleted indicator()" );
ok( $delrec->is_deleted, "is_deleted()" );
$ds->userdata( "testing" );
$record = $ds->create({ data => "Another test." });
is( $record->user, "testing", "userdata()" );
$record->data( "Yet another test." );
$record = $ds->create( $record );
$record2 = $ds->retrieve( $record->keynum );
my $recdata = $record->data;
my $recdata2 = $record2->data;
is( $recdata, $recdata2, "create( record )" );
$record2 = $ds->create({ record => $record, user => 'other user' });
is( $record2->user, 'other user', "create( record, user data )" );
$record = $ds->create({ data => \"Apple", user => 'fruit' });
is( $record->data, 'Apple', "create( scalar-ref, user data )" );
is( $record->user, 'fruit', "create( scalar-ref, user data )" );
}
#---------------------------------------------------------------------
{ # misc
my $ds = FlatFile::DataStore->new( {
dir => $dir,
name => $name,
} );
ok( $ds, "new()" );
# we want the newlines here:
my $msg1 = "For testing retrieve_preamble()\n";
my $msg2 = "For testing locate_record_data()\n";
my $record = $ds->create({ data => "$msg1$msg2" });
my $keynum = $record->keynum;
my $preamble_string1 = $record->preamble_string;
my $preamble = $ds->retrieve_preamble( $keynum );
my $preamble_string2 = $preamble->string;
is( $preamble_string1, $preamble_string2, "retrieve_preamble()" );
my $buffer = '';
# see POD:
my( $fh, $pos, $len ) = $ds->locate_record_data( $keynum );
my $got;
while( <$fh> ) {
last if ($got += length) > $len; # in case we read the recsep
# [do something with $_ ...]
$buffer .= $_;
last if $got == $len;
}
close $fh;
is( $buffer, "$msg1$msg2", "locate_record_data()" );
}
( run in 0.432 second using v1.01-cache-2.11-cpan-2398b32b56e )