Commit | Line | Data |
---|---|---|
ccbd73a4 SP |
1 | #!/usr/bin/perl -w |
2 | ||
3 | use strict; | |
4 | ||
5 | use Test::More tests => 13; | |
6 | ||
7 | { | |
8 | package Bar; | |
9 | ||
10 | sub new { | |
11 | my $class = shift; | |
12 | return bless {@_}, $class; | |
13 | } | |
14 | ||
15 | ||
16 | package Foo; | |
17 | our @ISA = qw(Bar); | |
18 | } | |
19 | ||
20 | { | |
21 | my $obj = new_ok("Foo"); | |
22 | is_deeply $obj, {}; | |
23 | isa_ok $obj, "Foo"; | |
24 | ||
25 | $obj = new_ok("Bar"); | |
26 | is_deeply $obj, {}; | |
27 | isa_ok $obj, "Bar"; | |
28 | ||
29 | $obj = new_ok("Foo", [this => 42]); | |
30 | is_deeply $obj, { this => 42 }; | |
31 | isa_ok $obj, "Foo"; | |
32 | ||
33 | $obj = new_ok("Foo", [], "Foo"); | |
34 | is_deeply $obj, {}; | |
35 | isa_ok $obj, "Foo"; | |
36 | } | |
37 | ||
38 | # And what if we give it nothing? | |
39 | eval { | |
40 | new_ok(); | |
41 | }; | |
afad11a2 | 42 | is $@, sprintf "new_ok() must be given at least a class at %s line %d.\n", $0, __LINE__ - 2; |