merge helpers
Simon Elliott [Sat, 4 Jun 2011 11:43:45 +0000 (12:43 +0100)]
1  2 
t/actions.t

diff --combined t/actions.t
@@@ -9,7 -9,7 +9,7 @@@ use HTML::Zoom::FilterStream
  
  my $tmpl = <<END;
  <body>
 -  <div class="main">
 +  <div name="cow" class="main">
      <span class="hilight name">Bob</span>
      <span class="career">Builder</span>
      <hr />
@@@ -50,23 -50,23 +50,23 @@@ my ($expect, @ev)
  ($expect = $tmpl) =~ s/class="main"/class="foo"/;
  
  is(
 -  run_for { $_->set_attribute({ name => 'class', value => 'foo' }) },
 +  run_for { $_->set_attribute( 'class' => 'foo' ) },
    $expect,
    'set attribute on existing attribute'
  );
  
 -($expect = $tmpl) =~ s/class="main"/class="foo"/;
 +($expect = $tmpl) =~ s/name="cow" class="main"/name="bar" class="foo"/;
  
  is(
 -  run_for { $_->set_attr({ name => 'class', value => 'foo' }) },
 +  run_for { $_->set_attribute({ 'class' => 'foo', 'name' => 'bar'}) },
    $expect,
 -  'set attribute on existing attribute (shorthand)'
 +  'set attributes using hashref form'
  );
  
  ($expect = $tmpl) =~ s/class="main"/class="main" foo="bar"/;
  
  is(
 -  run_for { $_->set_attribute({ name => 'foo', value => 'bar' }) },
 +  run_for { $_->set_attribute( 'foo' => 'bar' ) },
    $expect,
    'set attribute on non existing attribute'
  );
  ($expect = $tmpl) =~ s/class="main"/class="main foo"/;
  
  is(
 -  run_for { $_->add_to_attribute({ name => 'class', value => 'foo' }) },
 +  run_for { $_->add_to_attribute( 'class' => 'foo' ) },
    $expect,
    'add attribute on existing attribute'
  );
  
+ ($expect = $tmpl) =~ s/class="main"/class="main foo"/;
+ is(
+   run_for { $_->add_class('foo') },
+   $expect,
+   'add attribute on existing attribute (shorthand)'
+ );
+ ($expect = $tmpl) =~ s/class="main"/class="main" id="foo"/;
+ is(
+   run_for { $_->set_id('foo') },
+   $expect,
+   'set_id (shorthand)'
+ );
  ($expect = $tmpl) =~ s/class="main"/class="main" foo="bar"/;
  
  is(
 -  run_for { $_->add_to_attribute({ name => 'foo', value => 'bar' }) },
 +  run_for { $_->add_to_attribute( 'foo' => 'bar' ) },
    $expect,
    'add attribute on non existing attribute'
  );
@@@ -215,7 -231,7 +231,7 @@@ is
  
  is(
    HTML::Zoom::Producer::BuiltIn->html_from_events(\@ev),
 -  '<div class="main">
 +  '<div name="cow" class="main">
      <span class="hilight name">Bob</span>
      <span class="career">Builder</span>
      <hr />
  is(
    run_for { $_->collect({ into => \@ev, content => 1 }) },
    '<body>
 -  <div class="main"></div>
 +  <div name="cow" class="main"></div>
  </body>
  ',
    'collect w/content removes correctly'
@@@ -247,7 -263,7 +263,7 @@@ is
  is(
    run_for { $_->replace($ohai, { content => 1 }) },
    '<body>
 -  <div class="main">O HAI</div>
 +  <div name="cow" class="main">O HAI</div>
  </body>
  ',
    'replace w/content'
@@@ -281,11 -297,11 +297,11 @@@ is
      )
    },
    q{<body>
 -  <div class="main">
 +  <div name="cow" class="main">
      <span class="hilight name">mst</span>
      <span class="career">Chainsaw Wielder</span>
      <hr />
 -  </div><div class="main">
 +  </div><div name="cow" class="main">
      <span class="hilight name">mdk</span>
      <span class="career">Adminion</span>
      <hr />
@@@ -313,7 -329,7 +329,7 @@@ is
      )
    },
    q{<body>
 -  <div class="main">
 +  <div name="cow" class="main">
      <span class="hilight name">mst</span>
      <span class="career">Chainsaw Wielder</span>
      <hr />
@@@ -353,7 -369,7 +369,7 @@@ is
      )
    },
    q{<body>
 -  <div class="main">
 +  <div name="cow" class="main">
      <span class="hilight name">mst</span>
      <span class="career">Chainsaw Wielder</span>
      <hr />
@@@ -386,7 -402,7 +402,7 @@@ is
      )
    },
    q{<body>
 -  <div class="main">
 +  <div name="cow" class="main">
      <span class="hilight name">mst</span>
      <span class="career">Chainsaw Wielder</span>
      <hr />