9 use Test::More tests => 13;
12 aggregator_class => 'My::TAP::Parser::Aggregator',
13 formatter_class => 'My::TAP::Formatter::Console',
14 multiplexer_class => 'My::TAP::Parser::Multiplexer',
15 parser_class => 'My::TAP::Parser',
16 scheduler_class => 'My::TAP::Parser::Scheduler',
21 # Synthesize our subclasses
22 for my $class ( values %class_map ) {
23 ( my $base_class = $class ) =~ s/^My:://;
27 @{"${class}::ISA"} = ($base_class);
28 *{"${class}::new"} = sub {
32 # Can't use SUPER outside a package
33 return $base_class->can('new')->( $pkg, @_ );
38 ok my $harness = TAP::Harness->new( { %class_map, verbosity => -9 } ),
40 isa_ok $harness, 'TAP::Harness';
42 # Test dynamic loading
43 ok !$INC{'NOP.pm'}, 'NOP not loaded';
44 ok my $nop = $harness->_construct('NOP'), 'loaded and created';
46 ok $INC{'NOP.pm'}, 'NOP loaded';
48 my $aggregate = $harness->runtests(
56 isa_ok $aggregate, 'My::TAP::Parser::Aggregator';
59 { 'My::TAP::Parser::Aggregator' => 1,
60 'My::TAP::Formatter::Console' => 1,
61 'My::TAP::Parser' => 1,
62 'My::TAP::Parser::Scheduler' => 1,