summaryrefslogtreecommitdiff
path: root/t/test_pl
diff options
context:
space:
mode:
authorMichael G. Schwern <schwern@pobox.com>2011-11-15 17:39:07 -0800
committerFather Chrysostomos <sprout@cpan.org>2011-11-17 10:01:34 -0800
commitbbce3ca648eab3f375216d4c9eba05cb6e005d05 (patch)
tree7ab2097535b9ff42568b0f010c31906bb41542b8 /t/test_pl
parentb8ab4b0c2ac8ae091a7ed7909f0d9b01ae5717f0 (diff)
downloadperl-bbce3ca648eab3f375216d4c9eba05cb6e005d05.tar.gz
Add class_ok() and object_ok() to t/test.pl.
Change every existing instance of isa_ok() to use object_ok(). This is safe because before this point, t/test.pl's isa_ok() only worked on objects. lib/dbmt_common.pl is the last hold out because it uses Test::More. These are like isa_ok() but they also check if it's a class or an object. This lets the core tests defend against outlandish bugs while allowing t/test.pl to retain feature parity with Test::More.
Diffstat (limited to 't/test_pl')
-rw-r--r--t/test_pl/can_isa_ok.t21
1 files changed, 20 insertions, 1 deletions
diff --git a/t/test_pl/can_isa_ok.t b/t/test_pl/can_isa_ok.t
index bb24f56e66..081d3e563b 100644
--- a/t/test_pl/can_isa_ok.t
+++ b/t/test_pl/can_isa_ok.t
@@ -5,7 +5,7 @@
use strict;
use warnings;
-BEGIN { require "t/test.pl"; }
+BEGIN { require "test.pl"; }
require Test::More;
@@ -41,4 +41,23 @@ isa_ok(\42, 'SCALAR');
}
+note "object/class_ok"; {
+ {
+ package Child;
+ our @ISA = qw(Parent);
+ }
+
+ {
+ package Parent;
+ sub new { bless {}, shift }
+ }
+
+ # Unfortunately we can't usefully test the failure case without
+ # significantly modifying test.pl
+ class_ok "Child", "Parent";
+ class_ok "Parent", "Parent";
+ object_ok( Parent->new, "Parent" );
+ object_ok( Child->new, "Parent" );
+}
+
done_testing;