'set attribute on existing attribute'
);
+($expect = $tmpl) =~ s/class="main"/class="foo"/;
+
+is(
+ run_for { $_->set_attr({ name => 'class', value => 'foo' }) },
+ $expect,
+ 'set attribute on existing attribute (shorthand)'
+);
+
($expect = $tmpl) =~ s/class="main"/class="main" foo="bar"/;
is(
'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(
'remove attribute on non existing attribute'
);
+($expect = $tmpl) =~ s/class="main"/class=""/;
+
+is(
+ run_for { $_->remove_from_attribute({ class => 'main' }) },
+ $expect,
+ 'remove name from attribute'
+);
+
+is(
+ run_for { $_->remove_from_attribute({ madeup => 'main' }) },
+ $tmpl,
+ 'remove name from non existing attribute (ignored)'
+);
+
+($expect = $tmpl) =~ s/class="main"/class=""/;
+
+is(
+ run_for { $_->remove_class( 'main' ) },
+ $expect,
+ 'remove_class'
+);
+
($expect = $tmpl) =~ s/ class="main"//;
is(