Commit | Line | Data |
ccbd73a4 |
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 | }; |
42 | is $@, sprintf "new_ok() must be given at least a class at %s line %d.\n", $0, __LINE__ - 2; |