#!/usr/bin/perl -w
BEGIN {
use
lib File::Spec->updir;
plan(
'tests'
=> 11);
}
my
$test
= 0;
my
$o_obj
= Perlbug::Object::Bug->new();
$test
++;
if
(
ref
(
$o_obj
)) {
ok(
$test
);
}
else
{
ok(0);
output(
"Can't retrieve object($o_obj)"
);
}
$test
++;
my
$exists
=
$o_obj
->
exists
;
if
(
$exists
== 0) {
ok(
$test
);
}
else
{
ok(0);
output(
"non-valid bugid() should NOT exist($exists)"
);
}
$test
++;
my
$oid
=
'19870502.007'
;
$exists
=
$o_obj
->
read
(
$oid
)->
exists
;
if
(
$exists
== 1) {
ok(
$test
);
}
else
{
ok(0);
output(
"valid bugid($oid) SHOULD exist($exists)"
);
}
$test
++;
my
$key
=
$o_obj
->attr(
'objectid'
);
if
(
$key
eq
$oid
) {
ok(
$test
);
}
else
{
ok(0);
output(
"get attr(objectid=$oid) failed -> '$key'"
);
}
$DB::single
=2;
my
$created
=
$o_obj
->data(
'created'
);
$test
++;
if
(
$created
=~ /^\d+/o) {
ok(
$test
);
}
else
{
ok(0);
output(
"get data(created=some_date) NOT ok -> '$created'"
);
}
$test
++;
my
@fields
=
$o_obj
->data_fields;
if
(
grep
(/^created$/,
@fields
)) {
ok(
$test
);
}
else
{
ok(0);
output(
"no 'created' data field found(@fields)"
);
}
$test
++;
my
$table
=
$o_obj
->attr(
'table'
);
my
(
$i_all
) =
my
@all
=
$o_obj
->base->get_list(
"SELECT COUNT(*) FROM $table"
);
my
$i_ids
=
my
@ids
=
$o_obj
->ids();
if
(
$i_all
==
$i_ids
&&
$i_ids
>= 1) {
ok(
$test
);
}
else
{
ok(0);
output(
"all($i_all) should numerically match ids($i_ids)!"
);
}
my
$pri
=
$o_obj
->primary_key;
my
(
$bid
) =
$o_obj
->ids(
"WHERE $pri = '$oid'"
);
$test
++;
if
(
$bid
eq
$oid
) {
ok(
$test
);
}
else
{
ok(0);
output(
"retrieved $pri($bid) NOT matches objectid($oid)!"
);
}
my
(
$subject
) =
$o_obj
->data(
'subject'
);
$test
++;
if
(
$subject
=~ /\w+/o) {
ok(
$test
);
}
else
{
ok(0);
output(
"field_handler failure: subject($subject)"
);
}
my
$href
=
$o_obj
->_oref(
'attr'
);
$test
++;
if
(
ref
(
$href
) eq
'HASH'
) {
ok(
$test
);
}
else
{
ok(0);
output(
"oref failed to retrieve attributes href($href)!"
);
}
my
$o_base
=
$o_obj
->base;
my
$o_object
=
$o_base
->object(
'bug'
);
$test
++;
if
(
ref
(
$o_object
)) {
ok(
$test
);
}
else
{
ok(0);
output(
"failed to retrieve base($o_base) object($o_object)!"
);
}