]>
Commit | Line | Data |
---|---|---|
67e78ff2 | 1 | # This might look like shell script, but it's actually -*- perl -*- |
2 | use strict; | |
3 | use lib qw(t/ t/m/); | |
4 | ||
5 | ||
6 | use File::Slurp; | |
271d5078 TB |
7 | use Test::More; |
8 | use Test::XML; | |
67e78ff2 | 9 | |
10 | use TestUtils; | |
11 | ||
12 | use Data::Dumper; | |
13 | use HTML::TreeBuilder; | |
14 | use HTML::Element::Library; | |
15 | ||
16 | use data::table2; | |
17 | ||
18 | my $root = 't/html/table2'; | |
19 | my $o = data::table2->new; | |
20 | my $d = data::table2->load_data; | |
21 | my $tree = HTML::TreeBuilder->new_from_file("$root.html"); | |
22 | ||
23 | #warn 'D:', Dumper $d; | |
24 | ||
25 | for my $dataset (keys %$d) { | |
26 | my %tbody = ('4dig' => 0, '3dig' => 1); | |
27 | $tree->table2 ( | |
28 | # debug => 1, | |
29 | table_data => $d->{$dataset}, | |
30 | tr_base_id => $dataset, | |
31 | tr_ld => sub { | |
32 | my $t = shift; | |
33 | my $tbody = ($t->look_down('_tag' => 'tbody'))[$tbody{$dataset}]; | |
34 | my @tbody_child = $tbody->content_list; | |
35 | $tbody_child[$_]->detach for (1 .. $#tbody_child) ; | |
36 | $tbody->content_list; | |
37 | }, | |
38 | td_proc => sub { | |
39 | my ($tr, $data) = @_; | |
40 | my @td = $tr->look_down('_tag' => 'td'); | |
41 | for my $i (0..$#td) { | |
42 | # warn $i; | |
43 | $td[$i]->splice_content(0, 1, $data->[$i]); | |
44 | } | |
45 | } | |
46 | ); | |
47 | } | |
48 | ||
49 | ||
50 | my $generated_html = ptree($tree, "$root.gen"); | |
51 | ||
271d5078 TB |
52 | is($generated_html, File::Slurp::read_file("$root.exp"), 'genhtml'); |
53 | ||
54 | ||
55 | done_testing; |