fixed test suite
authorTerrence Brannon <TBrannon@SmartFinancial.com>
Wed, 4 Feb 2009 16:06:05 +0000 (11:06 -0500)
committerTerrence Brannon <TBrannon@SmartFinancial.com>
Wed, 4 Feb 2009 16:06:05 +0000 (11:06 -0500)
lib/HTML/Element/Library.pm
t/html/same_as/same_as.exp
t/html/same_as/same_as.gen
t/html/same_as/same_as.initial
t/same_as.t

index 7c6cf7557808cc42dc40b5c89fa4b55a27dc470f..60c7a4a19b91218ce357d8851a36a17284882e74 100644 (file)
@@ -43,16 +43,27 @@ sub HTML::Element::hash_map {
     my %p = validate(@_, {
                          hash => { type => HASHREF },
                          to_attr => 1,
-                         excluding => { type => ARRAYREF },
+                         excluding => { type => ARRAYREF , default => [] },
                          debug => { default => 0 },
                         });
 
-    my @same_as = $container->look_down('_attr' => $p{to_attr});
+    warn 'The container tag is ', $container->tag if $p{debug} ;
+    warn 'hash' . Dumper($p{hash}) if $p{debug} ;
+    warn 'at_under' . Dumper(\@_);
+
+    my @same_as = $container->look_down( $p{to_attr} => qr/.+/ ) ;
+
+    warn 'Found ' . scalar(@same_as) . ' nodes' if $p{debug} ;
+
 
     for my $same_as (@same_as) {
-       next if first { $same_as->attr($p{to_attr})  eq $_ } @{$p{excluding}} ;
-       my $hash_key =  $same_as->attr($p{to_attr}) ;
-       $same_as->replace_content( $p{hash}->{$hash_key} ) ;
+       my $attr_val = $same_as->attr($p{to_attr}) ;
+       if (first { $attr_val eq $_ } @{$p{excluding}}) {
+           warn "excluding $attr_val" if $p{debug} ;
+           next;
+       }
+       warn "processing $attr_val" if $p{debug} ;
+       $same_as->replace_content( $p{hash}->{$attr_val} ) ;
     }
 
 }
index 3eac36a6ce1d688aa618cc4ee2861907255f1752..22486bae06f51e6a6c7b4dc92495389ac139692e 100644 (file)
@@ -5,9 +5,9 @@
   <body>
     <table>
       <tr align="left" sclass="tr" valign="top" class="alt">
-        <td sid="people_id">1</td>
-        <td sid="phone">(877) 255-3239</td>
-        <td sid="email"><a sid="a_email" href="mailto:leave-me-alone@gmail.com"
+        <td sid="people_id">888</td>
+        <td sid="phone">444-4444</td>
+        <td sid="email"><a href="mailto:leave-me-alone@gmail.com" id="a_email"
             >should-not-be-touched@seamstress.com</a></td>
       </tr>
     </table>
index 3eac36a6ce1d688aa618cc4ee2861907255f1752..22486bae06f51e6a6c7b4dc92495389ac139692e 100644 (file)
@@ -5,9 +5,9 @@
   <body>
     <table>
       <tr align="left" sclass="tr" valign="top" class="alt">
-        <td sid="people_id">1</td>
-        <td sid="phone">(877) 255-3239</td>
-        <td sid="email"><a sid="a_email" href="mailto:leave-me-alone@gmail.com"
+        <td sid="people_id">888</td>
+        <td sid="phone">444-4444</td>
+        <td sid="email"><a href="mailto:leave-me-alone@gmail.com" id="a_email"
             >should-not-be-touched@seamstress.com</a></td>
       </tr>
     </table>
index 555abaac26aba551455967540fa092d486c5e6bd..6d818cd28c8cddefaea3ccfee699bf76c547fc1e 100644 (file)
@@ -8,7 +8,7 @@
     <tr sclass="tr" class="alt" align="left" valign="top">
       <td sid="people_id">1</td>
       <td sid="phone">(877) 255-3239</td>
-      <td sid="email"><a sid="a_email" href="mailto:leave-me-alone@gmail.com">should-not-be-touched@seamstress.com</a></td>
+      <td sid="email"><a id="a_email" href="mailto:leave-me-alone@gmail.com">should-not-be-touched@seamstress.com</a></td>
     </tr>
   </table>
 </body>
index c4df836103fdbdfcf39b01cbbe7be9950573a191..285f64c6fa272fa1d018561e6a45568c4c727bae 100644 (file)
@@ -24,9 +24,14 @@ sub tage {
 
   #warn "TREE: $tree" . $tree->as_HTML;
 
-  my %data = (people_id => 888, phone => '444-4444', email => 'dont-you-dare-render@xml.com');
-
-  $tree->hash_map(hash => \%data, to_attr => 'sid', excluding => ['email']);
+  my %data = (people_id => 888, phone => '444-4444', email => 'm@xml.com');
+
+  $tree->hash_map
+    (hash    => \%data, 
+     to_attr => 'sid', 
+     excluding => [ 'email' ],
+     debug   => 1
+    );
 
   my $generated_html = ptree($tree, "$root.gen");
 
This page took 0.014754 seconds and 4 git commands to generate.