fixes
authorTerrence Brannon <metaperl@gmail.com>
Fri, 5 Aug 2011 21:32:42 +0000 (17:32 -0400)
committerTerrence Brannon <metaperl@gmail.com>
Fri, 5 Aug 2011 21:32:42 +0000 (17:32 -0400)
dist.ini
lib/HTML/Element/Library.pm
lib/HTML/Element/Library.pod
t/defmap.t
t/newchild.t [new file with mode: 0644]
t/newnode.t [deleted file]

index d8740f809bda905bfa594f9815a09acfcdcbe8a2..65cb38c412431c8fb9791c8d925f5dcd6aaf109a 100644 (file)
--- a/dist.ini
+++ b/dist.ini
@@ -2,13 +2,24 @@ name = HTML-Element-Library
 author = Terrence Brannon <metaperl@gmail.com>
 license = Perl_5
 copyright_holder = Terrence Brannon
-version = 4.4
+
 
 [@Basic]
 
-[@GitHub]
+[PkgVersion]
+
+[AutoVersion]
+major = 5
+
+
 
 [AutoPrereqs]
 
 skip = (Test::XML|Arsenal|SimpleClass|SelectData|TestUtils|data::table2)
 
+
+
+[TestRelease]
+[ConfirmRelease]
+
+
index cb9cec3e5d423454e19e29c82f24e38ef3bbe48e..beb12454e66661537398294b8f39d13801515a93 100644 (file)
@@ -25,7 +25,7 @@ our @EXPORT      = qw();
 
 
 
-our $VERSION = '4.3';
+
 
 
 
@@ -98,16 +98,16 @@ sub HTML::Element::prune {
   $self;
 }
 
-sub HTML::Element::newnode {
-  my ($lol, $node_label, $new_node)=@_;
+sub HTML::Element::newchild {
+  my ($lol, $parent_label, @newchild)=@_;
 
   use Data::Rmap qw(rmap_array);
 
   my ($mapresult) = rmap_array {
  
 
-  if ($_->[0] eq $node_label) {
-    $_ = $new_node;
+  if ($_->[0] eq $parent_label) {
+    $_ = [ $parent_label => @newchild ];
     Data::Rmap::cut($_);
   } else {
     $_;
index 909aa9ecefccf2f15a86ed00ae6cfa57a7b86120..267537ad93bb0a26b45133afe4ecc02669e47cd7 100644 (file)
@@ -1106,7 +1106,7 @@ you manipulate a loltree programmatically.
 
 These could not be methods because if you bless a loltree, then HTML::Tree will barf.
 
-=head3 HTML::Element::replace_node($lol, $node_label, $new_node)
+=head3 HTML::Element::newchild($lol, $parent_label, @newchild)
 
 Given this initial loltree:
 
@@ -1116,7 +1116,7 @@ This code:
 
     sub shopping_items {
       my @shopping_items = map { [ item => _ ] } qw(bread butter beans) ;
-      \@shopping_items;
+      @shopping_items;
     }
 
     my $new_lol = HTML::Element::newnode($initial_lol, item => shopping_items());
@@ -1128,7 +1128,7 @@ This code:
           'note',
           [
             'shopping',
-            [
+      
               [
                 'item',
                 'bread'
@@ -1141,7 +1141,7 @@ This code:
                 'item',
                 'beans'
               ]
-            ]
+
           ]
         ];
 
@@ -1160,13 +1160,13 @@ A perl package for creating and manipulating HTML trees.
 An L<HTML::Tree> - based module which allows for manipulation of HTML
 trees using cartesian coordinations. 
 
-=head2 L<HTML::Seamstress>
+=head2 L<HTML::Seamstress>
 
 An L<HTML::Tree> - based module inspired by 
 XMLC (L<http://xmlc.enhydra.org>), allowing for dynamic
 HTML generation via tree rewriting.
 
-=head2 Push-style tmeplating systems
+=head2 Push-style templating systems
 
 A comprehensive cross-language 
 L<list of push-style templating systems|http://perlmonks.org/?node_id=674225>.
@@ -1218,16 +1218,19 @@ down instead:
 
 =cut
 
-=head1 SEE ALSO
-
-L<HTML::Seamstress>
 
-=head1 AUTHOR / SOURCE
+=head1 AUTHOR and ACKS
 
 Terrence Brannon, E<lt>tbone@cpan.orgE<gt>
 
 Many thanks to BARBIE for his RT bug report.
 
+Many thanks to perlmonk kcott for his work on array rewriting:
+L<http://www.perlmonks.org/?node_id=912416>.
+It was crucial in the development of newchild.
+
+=head2 Source Repo
+
 The source is at L<http://github.com/metaperl/html-element-library/tree/master>
 
 =head1 COPYRIGHT AND LICENSE
index 05c930d6aae1f7050a45df7594e1061f0848b25a..c26ab43ec67b207bbb6a70f0da0001d470a00457 100644 (file)
@@ -4,6 +4,7 @@ use lib qw(t/ t/m/);
 
 use File::Slurp;
 use Test::More qw(no_plan);
+use Test::XML;
 
 use TestUtils;
 use HTML::TreeBuilder;
@@ -21,9 +22,11 @@ sub tage {
 
   $tree->defmap(smap => \%data, 1);
 
-  my $generated_html = ptree($tree, "$root.gen");
+  my $g = ptree($tree, "$root.gen");
+  my $e = File::Slurp::read_file("$root.exp");
+  warn "generated:$g:\nexpected:$e:";
 
-  is ($generated_html, File::Slurp::read_file("$root.exp"), "HTML for same_as");
+  is_xml ($g, $e, "HTML for defmap");
 }
 
 
diff --git a/t/newchild.t b/t/newchild.t
new file mode 100644 (file)
index 0000000..43b641d
--- /dev/null
@@ -0,0 +1,51 @@
+#!/usr/bin/perl -T
+
+
+use warnings;
+use strict;
+
+use Test::More;
+use Test::XML;
+
+BEGIN {
+    use_ok('HTML::TreeBuilder');
+    use_ok('HTML::Element::Library');
+}
+
+
+my $initial_lol = [ note => [ shopping => [ item => 'sample' ] ] ];
+my $new_lol = HTML::Element::newchild($initial_lol, shopping => shopping_items());
+
+
+sub shopping_items {
+  my @shopping_items = map { [ item => $_ ] } qw(bread butter beans);
+  @shopping_items;
+}
+
+my $expected =  [
+          'note',
+          [
+            'shopping',
+              [
+                'item',
+                'bread'
+              ],
+              [
+                'item',
+                'butter'
+              ],
+              [
+                'item',
+                'beans'
+              ]
+          ]
+        ];
+
+use Data::Dumper;
+warn Dumper($new_lol);
+
+is_deeply($new_lol, $expected, 'test unrolling');
+
+
+
+done_testing;
diff --git a/t/newnode.t b/t/newnode.t
deleted file mode 100644 (file)
index 5ca7122..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/perl -T
-
-
-use warnings;
-use strict;
-
-use Test::More;
-use Test::XML;
-
-BEGIN {
-    use_ok('HTML::TreeBuilder');
-    use_ok('HTML::Element::Library');
-}
-
-
-my $initial_lol = [ note => [ shopping => [ item => 'sample' ] ] ];
-my $new_lol = HTML::Element::newnode($initial_lol, item => shopping_items());
-
-
-sub shopping_items {
-  my @shopping_items = map { [ item => $_ ] } qw(bread butter beans);
-  \@shopping_items;
-}
-
-my $expected =  [
-          'note',
-          [
-            'shopping',
-            [
-              [
-                'item',
-                'bread'
-              ],
-              [
-                'item',
-                'butter'
-              ],
-              [
-                'item',
-                'beans'
-              ]
-            ]
-          ]
-        ];
-
-is_deeply($new_lol, $expected, 'test unrolling');
-
-
-
-done_testing;
This page took 0.020399 seconds and 4 git commands to generate.