File: 04hashtests.t

package info (click to toggle)
libhtml-html5-outline-perl 0.006-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 372 kB
  • sloc: perl: 3,573; makefile: 7; sh: 1
file content (38 lines) | stat: -rw-r--r-- 1,270 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use Test::More tests => 7;
use HTML::HTML5::Outline 0.004 rdf => 0;

my $xhtml = <<'XHTML';
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-gb">
	<head>
		<title>Test</title>
	</head>
	<body>
		<h1 role=":superman">Hello</h1>
		<h2>Universe</h2>
		<h3>Possibility of a Multiverse?</h3>
		<blockquote cite="http://example.com/multiverse" xml:lang="en-us">
			<h1>What's a Multiverse?</h1>
			<h2>In Layman's Terms</h2>
			<h2>In Astrophysics</h2>
		</blockquote>
		<h2>World</h2>
		<h2>Country</h2>
		<h1>Goodbye</h1>
		<h2>Cruel World</h2>
	</body>
</html>
XHTML

my $data = HTML::HTML5::Outline
	->new($xhtml, uri => 'http://example.com/')
	->to_hashref
	;
	
ok(defined $data, 'An outline was generated.');
is($data->{class}, 'Outline', 'root is an outline');
is(scalar @{$data->{children}}, 2, 'root contains two child sections');
is($data->{children}[0]{header}{content}, 'Hello', 'first section correct title');
is($data->{children}[1]{header}{content}, 'Goodbye', 'second section correct title');

is($data->{children}[0]{children}[0]{children}[0]{children}[0]{class}, 'Outline', 'nested outline found');
is($data->{children}[0]{children}[0]{children}[0]{children}[0]{children}[0]{header}{content}, "What's a Multiverse?", 'nested outline seems in order');