|
NAMETest2::Util::Table - Format a header and rows into a table DESCRIPTIONThis is used by some failing tests to provide diagnostics about what has gone wrong. This module is able to generic format rows of data into tables. SYNOPSIS use Test2::Util::Table qw/table/;
my @table = table(
max_width => 80,
collapse => 1, # Do not show empty columns
header => [ 'name', 'age', 'hair color' ],
rows => [
[ 'Fred Flinstone', 2000000, 'black' ],
[ 'Wilma Flinstone', 1999995, 'red' ],
...,
],
);
# The @table array contains each line of the table, no newlines added.
say $_ for @table;
This prints a table like this: +-----------------+---------+------------+
| name | age | hair color |
+-----------------+---------+------------+
| Fred Flinstone | 2000000 | black |
| Wilma Flinstone | 1999995 | red |
| ... | ... | ... |
+-----------------+---------+------------+
EXPORTS@rows = table(...)The function returns a list of lines, lines do not have the newline "\n" character appended. Options:
my $cols = term_size()Attempts to find the width in columns (characters) of the current terminal. Returns 80 as a safe bet if it cannot find it another way. NOTE ON UNICODE/WIDE CHARACTERSSome unicode characters, such as "婧" ("U+5A67") are wider than others. These will render just fine if you "use utf8;" as necessary, and Unicode::GCString is installed, however if the module is not installed there will be anomalies in the table: +-----+-----+---+
| a | b | c |
+-----+-----+---+
| 婧 | x | y |
| x | y | z |
| x | 婧 | z |
+-----+-----+---+
SOURCEThe source code repository for Test2-Suite can be found at https://github.com/Test-More/test-more/. MAINTAINERSAUTHORSCOPYRIGHTCopyright Chad Granum <exodist@cpan.org>. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://dev.perl.org/licenses/
|