summaryrefslogtreecommitdiff
path: root/cpan/Test-Harness/t/object.t
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/Test-Harness/t/object.t')
-rw-r--r--cpan/Test-Harness/t/object.t37
1 files changed, 37 insertions, 0 deletions
diff --git a/cpan/Test-Harness/t/object.t b/cpan/Test-Harness/t/object.t
new file mode 100644
index 0000000000..b1a4dd0b98
--- /dev/null
+++ b/cpan/Test-Harness/t/object.t
@@ -0,0 +1,37 @@
+#!/usr/bin/perl -wT
+
+use strict;
+use lib 't/lib';
+
+use Test::More tests => 7;
+
+use_ok('TAP::Object');
+
+can_ok( 'TAP::Object', 'new' );
+can_ok( 'TAP::Object', '_initialize' );
+can_ok( 'TAP::Object', '_croak' );
+
+{
+
+ package TAP::TestObj;
+ use vars qw(@ISA);
+ @ISA = qw(TAP::Object);
+
+ sub _initialize {
+ my $self = shift;
+ $self->{init} = 1;
+ $self->{args} = [@_];
+ return $self;
+ }
+}
+
+# I know these tests are simple, but they're documenting the base API, so
+# necessary none-the-less...
+my $obj = TAP::TestObj->new( 'foo', { bar => 'baz' } );
+ok( $obj->{init}, '_initialize' );
+is_deeply( $obj->{args}, [ 'foo', { bar => 'baz' } ], '_initialize: args' );
+
+eval { $obj->_croak('eek') };
+my $err = $@;
+like( $err, qr/^eek/, '_croak' );
+