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 )