Test::LongString
- Test::LongString
- like_string
- is_string
Test::LongString of Rafael Garcia-Suarez for better error reporting when comparing strings. Especially long strings.
use strict;
use warnings;
use Test::More;
use Test::LongString;
plan tests => 2;
my ($expected, $actual) = generate(200, 170);
is $actual, $expected;
is_string $actual, $expected;
sub generate {
my ($cnt, $loc) = @_;
my @chars = ('a' .. 'z', 'A' .. 'Z');
my $str = '';
$str .= $chars[ rand scalar @chars ] for 1..$cnt;
my $actual = $str;
substr($actual, $loc, 1, ' ');
return ($str, $actual);
}
1..2
not ok 1
# Failed test at t/test_longstring.t line 10.
# got: 'qgjVLTjmhSKWoIZIAiCNSBkJQOOrLUYVihtrBehKKtUEozKzZvJDwClTCgHayvbrPsZojPiNGrzwXNDtuEpHuBcSDepTsoNlzPWMezBhuCJJZPbsLVMDWvuMZfXjtDhSrAsfrciXuJuZVCEXTBxkLXwklcgrqXMPoPloZhdoxu iTGjygbCuiSpNTgrdrkpONiEVfAEa'
# expected: 'qgjVLTjmhSKWoIZIAiCNSBkJQOOrLUYVihtrBehKKtUEozKzZvJDwClTCgHayvbrPsZojPiNGrzwXNDtuEpHuBcSDepTsoNlzPWMezBhuCJJZPbsLVMDWvuMZfXjtDhSrAsfrciXuJuZVCEXTBxkLXwklcgrqXMPoPloZhdoxuBiTGjygbCuiSpNTgrdrkpONiEVfAEa'
not ok 2
# Failed test at t/test_longstring.t line 12.
# got: ..."oPloZhdoxu iTGjygbCuiSpNTgrdrkpONiEVfAEa"...
# length: 200
# expected: ..."oPloZhdoxuBiTGjygbCuiSpNTgrdrkpONiEVfAEa"...
# length: 200
# strings begin to differ at char 171 (line 1 column 171)
# Looks like you failed 2 tests of 2.