File: new-tags.t

package info (click to toggle)
libhtml-tidy5-perl 1.06-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 368 kB
  • sloc: perl: 1,853; makefile: 14
file content (95 lines) | stat: -rw-r--r-- 2,373 bytes parent folder | download
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#!perl -T

use 5.010001;
use warnings;
use strict;

use Test::More tests => 4;

use HTML::Tidy5;

use lib 't';

use TidyTestUtils;

my $html = <<'HTML';
<!DOCTYPE html>
<html>
    <head>
        <title></title>
    </head>
    <body>
        <newblock>
            <p>
                This is a nav section
            </p>
        </newblock>
        <otherblock>
            <p>
                This is an <newinline>otherblock</newinline>.
            </p>
        </otherblock>
    </body>
</html>
HTML

my @all_errors = (
    'test (7:9) Error: <newblock> is not recognized!',
    'test (7:9) Warning: discarding unexpected <newblock>',
    'test (11:9) Warning: discarding unexpected </newblock>',
    'test (12:9) Error: <otherblock> is not recognized!',
    'test (12:9) Warning: discarding unexpected <otherblock>',
    'test (14:28) Error: <newinline> is not recognized!',
    'test (14:28) Warning: discarding unexpected <newinline>',
    'test (14:49) Warning: discarding unexpected </newinline>',
    'test (16:9) Warning: discarding unexpected </otherblock>',
    'test (4:9) Warning: blank \'title\' element',
);


subtest 'default constructor warns about <nav> tag' => sub {
    plan tests => 2;

    my $tidy = HTML::Tidy5->new;
    isa_ok( $tidy, 'HTML::Tidy5' );
    $tidy->parse( 'test', $html );
    messages_are( $tidy, [ @all_errors ] );
};


subtest 'Only add new blocklevel' => sub {
    plan tests => 2;

    my $tidy = HTML::Tidy5->new( { 'new-blocklevel-tags' => 'newblock,otherblock' } );
    isa_ok( $tidy, 'HTML::Tidy5' );
    $tidy->parse( 'test', $html );

    messages_are( $tidy, [ grep { !/block/ } @all_errors ], 'Excluded the block errors' );
};


subtest 'Only add new inline' => sub {
    plan tests => 2;

    my $tidy = HTML::Tidy5->new( { 'new-inline-tags' => 'newinline' } );
    isa_ok( $tidy, 'HTML::Tidy5' );
    $tidy->parse( 'test', $html );

    messages_are( $tidy, [ grep { !/inline/ } @all_errors ], 'Excluded the inline errors' );
};


subtest 'Add new line and blocklevel' => sub {
    plan tests => 2;

    my $tidy = HTML::Tidy5->new( {
        'new-blocklevel-tags' => 'newblock,otherblock',
        'new-inline-tags'     => 'newinline',
    } );
    isa_ok( $tidy, 'HTML::Tidy5' );
    $tidy->parse( 'test', $html );

    messages_are( $tidy, [grep { /element/ } @all_errors ], 'Quieted all errors' );
};

exit 0;