annotate tests/html-validator.t @ 305:7171fb8070d3

Fixing spacing above comments
author Dominic Cleal <dominic@computerkb.co.uk>
date Mon, 22 Dec 2008 11:48:32 +0000
parents f107f6107ad4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
138
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
1 #!/usr/bin/perl -w
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
2 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
3 # Test that our output is validatored
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
4 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
5 # Steve
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
6 # --
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
7
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
8
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
9 use File::Find;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
10 use HTML::Lint;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
11 use Test::More;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
12
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
13 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
14 # Basically this test validates the HTML which would be produced if
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
15 # a blog is compiled - if one is not present then we have nothing to
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
16 # validate against.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
17 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
18
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
19 if ( -d "./output/" )
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
20 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
21 plan no_plan;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
22 }
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
23 else
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
24 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
25 plan skip_all => 'There is no output directory to validate against!';
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
26 exit;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
27 }
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
28
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
29 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
30 # Find all the files beneath the current directory,
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
31 # and call 'checkFile' with the name.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
32 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
33 find( { wanted => \&checkFile, no_chdir => 1 }, './output/' );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
34
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
35
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
36
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
37 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
38 # Check a file.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
39 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
40 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
41 sub checkFile
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
42 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
43 # The file.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
44 my $file = $File::Find::name;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
45
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
46 # We don't care about directories
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
47 return if ( ! -f $file );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
48
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
49 # We only care about html files.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
50 return if ( $file !~ /\.html$/ );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
51
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
52 my $lint = HTML::Lint->new;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
53
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
54 $lint->parse_file( $file );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
55
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
56 my $error_count = $lint->errors;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
57
201
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
58 foreach my $error ( $lint->errors ) {
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
59 if ( $error->as_string =~ /<cut>/ )
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
60 {
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
61 $error_count -= 1;
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
62 }
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
63 #print $error->as_string, "\n";
f107f6107ad4 Ignore errors which relate to <cut> tag
Steve Kemp <steve@steve.org.uk>
parents: 138
diff changeset
64 }
138
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
65
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
66 is( $error_count, 0 , "There are no errors in $file" );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
67 }
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
68
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
69
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
70
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
71 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
72 # Count and return the number of literal TAB characters contained
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
73 # in the specified file.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
74 #
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
75 sub countTabCharacters
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
76 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
77 my ( $file ) = (@_);
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
78 my $count = 0;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
79
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
80 open( FILE, "<", $file )
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
81 or die "Cannot open $file - $!";
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
82 foreach my $line ( <FILE> )
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
83 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
84 # We will count multiple tab characters in a single line.
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
85 while( $line =~ /(.*)\t(.*)/ )
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
86 {
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
87 $count += 1;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
88 $line = $1 . $2;
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
89 }
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
90 }
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
91 close( FILE );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
92
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
93 return( $count );
918bfcb2787e Added test to validate HTML output.
Steve Kemp <steve@steve.org.uk>
parents:
diff changeset
94 }