1#!perl -w 2 3use strict; 4use warnings; 5 6use Test::More tests => 7; 7 8use Data::Hexdumper qw(hexdump); 9 10eval { hexdump(data => '0123456789ABCDEF', number_format => 'C', output_format => '%C'); }; 11ok($@, "number_format with output_format is fatal"); 12 13is( 14 hexdump(data => 'abcdefghijklmno', output_format => '%4a %C %S %L< %Q> %d'), 15 Data::Hexdumper::LITTLEENDIAN ? 16 "0x0000 61 6362 67666564 68696A6B6C6D6E6F abcdefghijklmno\n" : 17 "0x0000 61 6263 67666564 68696A6B6C6D6E6F abcdefghijklmno\n", 18 "mixed formats work" 19); 20 21is( 22 hexdump(data => 'abcdefghijklmno', output_format => '%4a %%C % < > %C %S%> %L%< %Q%% %d'), 23 Data::Hexdumper::LITTLEENDIAN ? 24 "0x0000 %C % < > 61 6362> 67666564< 6F6E6D6C6B6A6968% abcdefghijklmno\n" : 25 "0x0000 %C % < > 61 6263> 64656667< 68696A6B6C6D6E6F% abcdefghijklmno\n", 26 "%{%,<,>} work" 27); 28 29is( 30 hexdump(data => 'abcdefgh', output_format => '%4a %L< %L<'), 31 hexdump(data => 'abcdefgh', output_format => '%a %L< %L<'), 32 '%4a == %a' 33); 34 35is( 36 hexdump(data => 'abcdefgh', output_format => '%8a %L< %L<'), 37 "0x00000000 64636261 68676665\n", 38 '%8a works' 39); 40is( 41 hexdump(data => 'abcdefghabcdefgh', output_format => '%11a %L< %L<'), 42 "0x00000000000 64636261 68676665\n0x00000000008 64636261 68676665\n", 43 '%11a works' 44); 45 46is( 47 hexdump(data => 'abcdefgh', suppress_warnings => 1, output_format => '%a %2Q %3C %4S< %1L'), 48 hexdump(data => 'abcdefgh', suppress_warnings => 1, output_format => '%a %Q %Q %C %C %C %S< %S< %S< %S< %L'), 49 '%2Q %3C %4S< %1L == %Q %Q %C %C %C %S< %S< %S< %S< %L' 50); 51 52