1# subclass for testing TAP::Harness custom sources
2
3package MyFileSourceHandler;
4
5use strict;
6use warnings;
7our ($LAST_OBJ, $CAN_HANDLE, $MAKE_ITER, $LAST_SOURCE);
8
9use TAP::Parser::IteratorFactory;
10
11use base qw( TAP::Parser::SourceHandler::File MyCustom );
12$LAST_OBJ    = undef;
13$CAN_HANDLE  = undef;
14$MAKE_ITER   = undef;
15$LAST_SOURCE = undef;
16
17TAP::Parser::IteratorFactory->register_handler(__PACKAGE__);
18
19sub can_handle {
20    my $class = shift;
21    $class->SUPER::can_handle(@_);
22    $CAN_HANDLE++;
23    return $class;
24}
25
26sub make_iterator {
27    my ( $class, $source ) = @_;
28    my $iter = $class->SUPER::make_iterator($source);
29    $MAKE_ITER++;
30    $LAST_SOURCE = $source;
31    return $iter;
32}
33
341;
35