#!/usr/bin/perl -w BEGIN { if( $ENV{PERL_CORE} ) { chdir 't'; @INC = ('../lib', 'lib'); } else { unshift @INC, 't/lib'; } } use Test::More; use File::Spec; BEGIN { use vars qw( %samples ); %samples = ( bailout => [qw( header test test test bailout )], combined => ['header', ('test') x 10], descriptive => ['header', ('test') x 5 ], duplicates => ['header', ('test') x 11 ], head_end => [qw( other test test test test other header other other )], head_fail => [qw( other test test test test other header other other )], no_nums => ['header', ('test') x 5 ], out_of_order=> [('test') x 10, 'header', ('test') x 5], simple => [qw( header test test test test test )], simple_fail => [qw( header test test test test test )], 'skip' => [qw( header test test test test test )], skipall => [qw( header )], skipall_nomsg => [qw( header )], skip_nomsg => [qw( header test )], taint => [qw( header test )], 'todo' => [qw( header test test test test test )], todo_inline => [qw( header test test test )], vms_nit => [qw( header other test test )], with_comments => [qw( other header other test other test test test other other test other )], ); plan tests => 2 + scalar keys %samples; } BEGIN { use_ok( 'Test::Harness::Straps' ); } my $Curdir = File::Spec->curdir; my $SAMPLE_TESTS = $ENV{PERL_CORE} ? File::Spec->catdir($Curdir, 'lib', 'sample-tests') : File::Spec->catdir($Curdir, 't', 'sample-tests'); my $strap = Test::Harness::Straps->new; isa_ok( $strap, 'Test::Harness::Straps' ); $strap->set_callback( sub { my($self, $line, $type, $totals) = @_; push @out, $type; } ); for my $test ( sort keys %samples ) { my $expect = $samples{$test}; local @out = (); $strap->analyze_file(File::Spec->catfile($SAMPLE_TESTS, $test)); is_deeply(\@out, $expect, "$test callback"); }