]>
Commit | Line | Data |
---|---|---|
67e78ff2 | 1 | # This might look like shell script, but it's actually -*- perl -*- |
2 | use strict; | |
67e78ff2 | 3 | |
4 | use File::Slurp; | |
5 | use Test::More qw(no_plan); | |
6 | ||
67e78ff2 | 7 | use HTML::TreeBuilder; |
8 | use HTML::Element::Library; | |
d4b9a41a | 9 | use Test::XML; |
67e78ff2 | 10 | |
11 | my $root = 't/html/iter2'; | |
12 | ||
13 | my $tree = HTML::TreeBuilder->new_from_file("$root.html"); | |
14 | ||
15 | my @items = ( | |
16 | [ Programmer => 'one who likes Perl and Seamstress', ], | |
17 | [ DBA => 'one who does business as', ], | |
18 | [ Admin => 'one who plays Tetris all day' ] | |
19 | ); | |
20 | ||
21 | $tree->iter2( | |
22 | # default wrapper_ld ok | |
23 | wrapper_data => \@items, | |
24 | wrapper_proc => sub { | |
25 | my ($container) = @_; | |
26 | ||
27 | # only keep the last 2 dts and dds | |
28 | my @content_list = $container->content_list; | |
29 | $container->splice_content(0, @content_list - 2); | |
30 | }, | |
31 | # default item_ld is k00l | |
32 | # default item_data is phrEsh | |
33 | # default item_proc will do w0rk | |
34 | splice => sub { | |
35 | my ($container, @item_elems) = @_; | |
36 | $container->unshift_content(@item_elems); | |
37 | }, | |
38 | ||
39 | debug => 1, | |
40 | ); | |
41 | ||
42 | ||
d4b9a41a | 43 | is_xml ($tree->as_XML, scalar File::Slurp::read_file("$root.exp"), "XML for generated li"); |