]> iEval git - html-element-library.git/blame - t/dual_iter.t
implement and test crunch method
[html-element-library.git] / t / dual_iter.t
CommitLineData
67e78ff2 1# This might look like shell script, but it's actually -*- perl -*-
2use strict;
3use lib qw(t/ t/m/);
4
5use File::Slurp;
6use Test::More qw(no_plan);
7
8use TestUtils;
9use HTML::TreeBuilder;
10use HTML::Element::Library;
11
12# this is a simpler call to iter2()
13
14my $root = 't/html/dual_iter';
15
16my $tree = HTML::TreeBuilder->new_from_file("$root.html");
17
18my $dl = $tree->look_down(id => 'service_plan');
19
20
21my @items = (
22 ['the pros' => 'never have to worry about service again'],
23 ['the cons' => 'upfront extra charge on purchase'],
24 ['our choice' => 'go with the extended service plan']
25 );
26
27
28$tree->iter2(
29
30 wrapper_data => \@items,
31
32 wrapper_proc => sub {
33 my ($container) = @_;
34
35 # only keep the last 2 dts and dds
36 my @content_list = $container->content_list;
37 $container->splice_content(0, @content_list - 2);
38 },
39
40
41 splice => sub {
42 my ($container, @item_elems) = @_;
43 $container->unshift_content(@item_elems);
44 },
45
46 debug => 1,
47
48 );
49
50 my $generated_html = ptree($tree, "$root.gen");
51
52 is ($generated_html, File::Slurp::read_file("$root.exp"),
53 "HTML for generated li");
This page took 0.022344 seconds and 4 git commands to generate.