blob: 80f51fe759fd2807b548c30969f5ee5d76a4b970 [file] [log] [blame]
use strict;
use Test::More 'no_plan';
BEGIN { chdir 't' if -d 't' };
use lib '../lib';
my $Class = 'Package::Constants';
my $Func = 'list';
my $Pkg = '_test';
my @Good = 'A'..'C';
my @Bad = 'D'..'E';
use_ok( $Class );
can_ok( $Class, $Func );
### enable debug statements?
$Package::Constants::DEBUG = $Package::Constants::DEBUG = @ARGV ? 1 : 0;
### small test class
{ package _test;
### mark us as loaded
$INC{'_test.pm'} = $0;
use vars qw[$FOO];
$FOO = 1;
### define various subs.. the first 3 are constants,
### the others are not
use constant A => 1;
use constant B => sub { 1 };
sub C () { 1 };
sub D { 1 };
sub E (*) { 1 };
}
### get the list
{ my @list = $Class->$Func( $Pkg );
ok( scalar(@list), "Got a list of constants" );
is_deeply( \@list, \@Good, " Contains all expected entries" );
}
# Local variables:
# c-indentation-style: bsd
# c-basic-offset: 4
# indent-tabs-mode: nil
# End:
# vim: expandtab shiftwidth=4: