> 'foo',
default_values => $DEFAULT_VARS });
isnt( $item_nodef->{FirstName}, $DEFAULT_NAME,
'Default value set in constructor but pas
'Class of cloned item matches' );
isnt( $cloned->id, $item->id,
'id() of cloned item does not match as expected' );
isnt( $cloned->ID_name, $item->ID_name,
> 'foo',
default_values => $DEFAULT_VARS });
isnt( $item_nodef->{name}, $DEFAULT_NAME,
'Default value set in constructor but passed v
'Class of cloned item matches' );
isnt( $cloned->id, $item->id,
'id() of cloned item does not match as expected' );
isnt( $cloned->id_name, $item->id_name,
clone({ spops_name => 'YourProject',
spops_goop => 'this n that',
spops_id => 1792 } ) };
ok( ! $@, 'Clo
ip_cache => 1 }) };
ok( ! $@, 'Insert object with "no_insert" field specified' );
isnt( $obj->{spops_name}, 'FOO!', 'Data reset for no_insert field in object' );
my $new_obj =
skip_cache => 1 }) };
ok( ! $@, 'Refetch no_insert object' );
isnt( $new_obj->{spops_name}, 'FOO!', 'Fetched data proper data for no_insert field' );
}
# F
>clone({ name => 'YourProject', version => 1.02 }) };
ok( ! $@, 'Clone object' );
isnt( $new_obj->{name}, $obj->{name}, 'Clone object (override content)' );
eval { $new_obj->s
is( $data->{fum}, 'pancakes', 'Strict field set' );
$data->{fuum} = 'blueberry';
isnt( $data->{fum}, 'blueberry', 'Strict field incorrectly set' );
}
# Simple routine to retrieve a S
);
$data->{sleepy} = 'sloopy';
is( $data->{sleepy}, 'sloopy', 'Basic equivalency' );
isnt( $obj->{ IDX_CHANGE() }, 0, 'Modified change flag' );
}
# Multivalue fields
{
my ( $obj, $d