#!perl -T
use strict;
use warnings;
use Test::More tests => 3;
use Test::NoWarnings;
use Test::HexDifferences;
# use default address and default format
{
my $got = '1234567';
my $dump = <<'EOT';
0000 : 31 32 33 34 : 1234
0004 : 35 36 37 38 : 5678
EOT
dumped_eq_dump_or_diff(
$got,
$dump,
'example with defaults', # test name
);
}
# use own format
# - 1 byte missing in "got".
# - 2nd word for "%2n" can not filled, so filled with space.
# - End of format.
# - Last byte will be displayd in default format.
# - This is the default behaviour in case of errors with multibytes format items.
{
my $got = '1234567';
my $dump = <<'EOT';
1000 31323334
1004 3536 3738
EOT
my $format = <<'EOT';
%a %N
%1x%
%a %2n
%1x%
EOT
dumped_eq_dump_or_diff(
$got,
$dump,
{
address => 0x1000, # set start address
format => $format, # set own format
},
'example with customized address and format',
);
}
__END__
>prove -Ilib example\02_dumped_eq_dump_or_diff.t
example\02_dumped_eq_dump_or_diff.t ..
example\02_dumped_eq_dump_or_diff.t .. 1/3 # Failed test 'example with defaults'
# at D:\build\Test-HexDifferences\lib/Test/HexDifferences.pm line 48.
# +---+----------------------------+----------------------------+
# | Ln|Got |Expected |
# +---+----------------------------+----------------------------+
# | 1|'0000 : 31 32 33 34 : 1234 |'0000 : 31 32 33 34 : 1234 |
# * 2|0004 : 35 36 37 : 567 |0004 : 35 36 37 38 : 5678 *
# | 3|' |' |
# +---+----------------------------+----------------------------+
# Failed test 'example with customized address and format'
# at D:\build\Test-HexDifferences\lib/Test/HexDifferences.pm line 48.
# +---+------------------------+---+------------------+
# | Ln|Got | Ln|Expected |
# +---+------------------------+---+------------------+
# | 1|'1000 31323334 | 1|'1000 31323334 |
# * 2|1004 3536\s\s\s\s\s\n * 2|1004 3536 3738\n *
# * 3|1006 : 37 : 7 * | |
# | 4|' | 3|' |
# +---+------------------------+---+------------------+
# Looks like you failed 2 tests of 3.
example\02_dumped_eq_dump_or_diff.t .. Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/3 subtests
Test Summary Report
-------------------
example\02_dumped_eq_dump_or_diff.t (Wstat: 512 Tests: 3 Failed: 2)
Failed tests: 1-2
Non-zero exit status: 2
Files=1, Tests=3, 0 wallclock secs ( 0.05 usr + 0.02 sys = 0.06 CPU)
Result: FAIL