The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $Id$
print "1..8 init,create result,alive,method override,done,destroy,done on croak,croak during init\n";

my $stage = 1;

package GumboJumboObject;
use vars qw(@ISA);
@ISA = qw(Prima::Object);

sub init
{
	my $self = shift;
	main::ok( $self) if $stage == 1;
	my %profile = @_;
	%profile = $self-> SUPER::init( %profile);
	croak("test!") if $stage == 2;
	return %profile;
}


sub setup
{
	$main::dong = 1;
	$_[0]-> SUPER::setup;
}

sub done
{
	my $self = $_[0];
	$self-> SUPER::done;
	main::ok(1);
}

package main;

$dong = 0;
my $o = GumboJumboObject-> create;
ok( $o);
ok( $o-> alive);
ok( $dong);
$o-> destroy;
ok( !$o-> alive);
$stage++;
undef $o;
eval { $o = GumboJumboObject-> create; };
ok( !defined $o);

1;