|
Packit |
237ae7 |
use strict;
|
|
Packit |
237ae7 |
my $x;
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
my $demo = $ENV{DEMO};
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
eval <<'PRELOAD' ? eval <<'TEST' : ( $x = $@, eval <<'FALLBACK' );
|
|
Packit |
237ae7 |
use Test::More;
|
|
Packit |
237ae7 |
1;
|
|
Packit |
237ae7 |
PRELOAD
|
|
Packit |
237ae7 |
use Test::Differences;
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
plan tests => 3 ;
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
print "#\n# This test misuses TODO:",
|
|
Packit |
237ae7 |
" these TODOs are actually real tests.\n#\n"
|
|
Packit |
237ae7 |
unless $demo;
|
|
Packit |
237ae7 |
TODO: {
|
|
Packit |
237ae7 |
local $TODO = "testing failure, not really a TODO" unless $demo;
|
|
Packit |
237ae7 |
my @docs = (
|
|
Packit |
237ae7 |
join( "", map "this is line $_\n", qw( 1 2 3 ) ),
|
|
Packit |
237ae7 |
join( "", map "this is line $_\n", qw( 1 b 3 ) )
|
|
Packit |
237ae7 |
);
|
|
Packit |
237ae7 |
eq_or_diff @docs, "differences in text";
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
@docs = ( ( " indented\n" x 3 ) x 2 );
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
$docs[1] =~ s/(^..*?^)\s+/$1\t/ms or die "Can't subst \\t for ' '";
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
eq_or_diff @docs, "differences in whitespace";
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
eq_or_diff( Test::Builder->new, [ "Dry, humorless message" ] );
|
|
Packit |
237ae7 |
}
|
|
Packit |
237ae7 |
TEST
|
|
Packit |
237ae7 |
use Test;
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
plan tests => 1;
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
skip $x, "" ;
|
|
Packit |
237ae7 |
FALLBACK
|
|
Packit |
237ae7 |
|
|
Packit |
237ae7 |
die $@ if $@;
|