xref: /openbsd-src/gnu/usr.bin/perl/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1898184e3Ssthen# subclass for testing TAP::Harness custom sources
2898184e3Ssthen
3898184e3Ssthenpackage MyFileSourceHandler;
4898184e3Ssthen
5898184e3Ssthenuse strict;
66fb12b70Safresh1use warnings;
76fb12b70Safresh1our ($LAST_OBJ, $CAN_HANDLE, $MAKE_ITER, $LAST_SOURCE);
8898184e3Ssthen
9898184e3Ssthenuse TAP::Parser::IteratorFactory;
10898184e3Ssthen
116fb12b70Safresh1use base qw( TAP::Parser::SourceHandler::File MyCustom );
12898184e3Ssthen$LAST_OBJ    = undef;
13898184e3Ssthen$CAN_HANDLE  = undef;
14898184e3Ssthen$MAKE_ITER   = undef;
15898184e3Ssthen$LAST_SOURCE = undef;
16898184e3Ssthen
17898184e3SsthenTAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
18898184e3Ssthen
19898184e3Ssthensub can_handle {
20898184e3Ssthen    my $class = shift;
21898184e3Ssthen    $class->SUPER::can_handle(@_);
22898184e3Ssthen    $CAN_HANDLE++;
23*5759b3d2Safresh1    return 1;
24898184e3Ssthen}
25898184e3Ssthen
26898184e3Ssthensub make_iterator {
27898184e3Ssthen    my ( $class, $source ) = @_;
28898184e3Ssthen    my $iter = $class->SUPER::make_iterator($source);
29898184e3Ssthen    $MAKE_ITER++;
30898184e3Ssthen    $LAST_SOURCE = $source;
31898184e3Ssthen    return $iter;
32898184e3Ssthen}
33898184e3Ssthen
34898184e3Ssthen1;
35