1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# -*- perl -*-
use strict;
use warnings;
use Test::More tests => 16;
BEGIN { use_ok( 'Package::New' ); }
{
my $object = My::Package->new(x=>1, y=>"a");
isa_ok($object, 'Package::New');
isa_ok($object, 'My::Package');
can_ok($object, qw{new initialize x y});
is($object->x, "1", "args work");
is($object->y, "a", "args work");
}
{
my $object = My::Package->new(x=>undef)->new(x=>1, y=>"a");
isa_ok($object, 'Package::New');
isa_ok($object, 'My::Package');
can_ok($object, qw{new initialize x y});
is($object->x, "1", "args work");
is($object->y, "a", "args work");
}
{
my $object = new My::Package x=>1, y=>"a";
isa_ok($object, 'Package::New');
isa_ok($object, 'My::Package');
can_ok($object, qw{new initialize x y});
is($object->x, "1", "args work");
is($object->y, "a", "args work");
}
{
package #Hide from CPAN
My::Package;
use base qw{Package::New};
sub x {shift->{"x"}};
sub y {shift->{"y"}};
1;
}
|