]> git.vpit.fr Git - perl/modules/Sub-Nary.git/blob - t/10-obj.t
Update VPIT::TestHelpers to 15e8aee3
[perl/modules/Sub-Nary.git] / t / 10-obj.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 6 + 1 * 2;
7
8 use Sub::Nary;
9
10 my $sn = new Sub::Nary;
11 ok(defined $sn, 'SN object is defined');
12 is(ref $sn, 'Sub::Nary', 'SN object is valid');
13
14 my $sn2 = $sn->new;
15 ok(defined $sn2, 'SN::new called as an object method works' );
16 is(ref $sn2, 'Sub::Nary', 'SN::new called as an object method works is valid');
17
18 my $sn3 = Sub::Nary::new();
19 ok(defined $sn3, 'SN::new called as a function works ');
20 is(ref $sn3, 'Sub::Nary', 'SN::new called as a functions returns a Sub::Nary object');
21
22 my $fake = { };
23 bless $fake, 'Sub::Nary::Hlagh';
24 for (qw<flush>) {
25  eval "Sub::Nary::$_('Sub::Nary')";
26  like($@, qr/^First\s+argument/, "SN::$_ isn't a class method");
27  eval "Sub::Nary::$_(\$fake)";
28  like($@, qr/^First\s+argument/, "SN::$_ only applies to SN objects");
29 }