shift->_zconfig->stream_utils->flatten_stream_of_streams(@_)
}
+sub set_attr { shift->set_attribute(@_); }
+
sub set_attribute {
my $self = shift;
my ($name, $value) = $self->_parse_attribute_args(@_);
my $self = shift;
# allow ->add_to_attribute(name => 'value')
# or ->add_to_attribute({ name => 'name', value => 'value' })
+
+ warn "WARNING: Long form args (name => 'class', value => 'x') will be replaced with an incompatible form in the *very near future*."
+ if(@_ == 1 && $_[0]->{'name'} && $_[0]->{'value'});
my ($name, $value) = @_ > 1 ? @_ : @{$_[0]}{qw(name value)};
return ($name, $self->_zconfig->parser->html_escape($value));
}
die "renamed to add_to_attribute. killing this entirely for 1.0";
}
+sub add_class { shift->add_to_attribute('class',@_) }
+
+sub remove_class { shift->remove_attribute('class',@_) }
+
+sub set_class { shift->set_attribute('class',@_) }
+
+sub set_id { shift->set_attribute('id',@_) }
+
sub add_to_attribute {
my $self = shift;
my ($name, $value) = $self->_parse_attribute_args(@_);
($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="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="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'
);
like(
HTML::Zoom
->from_html(q[<p class="first">Hi!</p>])
- ->add_to_attribute('p', {name => 'class', value => 'para'})
- ->to_html,
- qr/first para/,
- 'Got correct from add_to_attribute'
-);
-
-like(
- HTML::Zoom
- ->from_html(q[<p class="first">Hi!</p>])
->add_to_attribute('p', class => 'para')
->to_html,
qr/first para/,
'Got correct from set_attribute'
);
-like(
- HTML::Zoom
- ->from_html(q[<p class="first">Hi!</p>])
- ->set_attribute('p', {name => 'class', value => 'para'})
- ->to_html,
- qr/class="para"/,
- 'Got correct from set_attribute'
-);
-
is(
HTML::Zoom
->from_html(q[<p class="first">Hi!</p>])