HTML-Microdata
view release on metacpan or search on metacpan
t/01_base.t view on Meta::CPAN
use strict;
use warnings;
use HTML::Microdata;
use Test::More;
use Test::Base;
use Test::Differences;
use JSON;
plan tests => 1 * blocks;
filters {
input => [qw/chomp/],
expected => [qw/chomp/],
base => [qw/chomp/],
};
run {
my ($block) = @_;
my $microdata = HTML::Microdata->extract($block->input,
base => $block->base || undef
);
my $expected = decode_json $block->expected;
eq_or_diff decode_json($microdata->as_json), $expected, $block->name;
};
__END__
=== basic
--- input
<html>
<body>
<div itemscope>
<span itemprop="foo bar">bar</span>
</div>
</body>
</html>
--- expected
{
"items" : [
{
"properties" : {
"foo" : [ "bar" ],
"bar" : [ "bar" ]
}
}
]
}
=== itemid
--- input
<html>
<body>
<div itemscope itemid="urn:test:foo">
<span itemprop="foo">bar</span>
</div>
</body>
</html>
--- expected
{
"items" : [
{
"id" : "urn:test:foo",
"properties" : {
"foo" : [ "bar" ]
}
}
( run in 0.740 second using v1.01-cache-2.11-cpan-13bb782fe5a )