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