summaryrefslogtreecommitdiff
path: root/t/002_base.t
blob: 007ced24e01333c45163aa18ec722163c527d028 (plain)
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;
}