12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #!/usr/bin/perl
- use strict;
- use warnings;
- ################################################################################
- # A class for testing the loader
- {
- package MyTestClass;
- sub new {
- my ($class) = @_;
- return bless(\do{my $annon_scalar}, $class);
- }
- }
- use Test::More qw{no_plan};
- main();
- sub main {
- use_ok('Fcm::Util::ClassLoader');
- test_normal();
- test_bad();
- }
- ################################################################################
- # Tests loading classes that should load OK
- sub test_normal {
- my $prefix = 'normal';
- my @CLASSES = (
- 'Fcm::CLI::Config',
- 'Fcm::Exception',
- 'Fcm::CLI::Config', # repeat
- 'MyTestClass',
- );
- for my $class (@CLASSES) {
- ok(Fcm::Util::ClassLoader::load($class), "$prefix: load $class");
- }
- }
- ################################################################################
- # Tests loading classes that should fail
- sub test_bad {
- my $prefix = 'bad';
- my @CLASSES = ('Foo', 'Bar', 'Baz', 'No::Such::Class', 'Foo');
- for my $class (@CLASSES) {
- eval {
- Fcm::Util::ClassLoader::load($class);
- };
- isa_ok($@, 'Fcm::Exception', "$prefix: load $class");
- }
- }
- __END__
|