Dunning: Email und Zahlungsbedingung in Mahnlaufbericht aufgenommen
[kivitendo-erp.git] / t / 002goodperl.t
index d70ad89..9517901 100644 (file)
@@ -32,7 +32,7 @@ use lib 't';
 
 use Support::Files;
 
-use Test::More tests => scalar @Support::Files::testitems * 2;
+use Test::More tests => scalar @Support::Files::testitems * 3;
 
 my @testitems = @Support::Files::testitems; # get the files to test.
 
@@ -70,7 +70,10 @@ foreach my $file (@testitems) {
             if ($file_line1 =~ m#\s-$flags#) {
                 ok(1,"$file uses standard perl location and -$flags");
             } else {
+              TODO: {
+                local $TODO = q(warning isn't supported globally);
                 ok(0,"$file is MISSING -$flags --WARNING");
+              }
             }
         } else {
             ok(0,"$file uses non-standard perl location");
@@ -78,8 +81,6 @@ foreach my $file (@testitems) {
     }
 }
 
-TODO: {
-local $TODO = 'strict is not implemented thoroughly yet';
 foreach my $file (@testitems) {
     my $found_use_strict = 0;
     $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
@@ -101,6 +102,40 @@ foreach my $file (@testitems) {
         ok(0,"$file DOES NOT use strict --WARNING");
     }
 }
+
+
+# note, the html checker is not really thorough.
+# in particular it will not find standard tags with parameters.
+# the estimate whether a file is dirty or not is still pretty helpful, as it will catch most of the closing tags.
+# if you are in doubt about a specific file, you still have to check it manually.
+my $tags = qr/b|i|u|h[1-6]|a href.*|input|form|br|textarea|table|tr|td|th|body|head|html|p|button|select|option|script/;
+foreach my $file (@testitems) {
+    my $found_html_count = 0;
+    my $found_html       = '';
+    $file =~ s/\s.*$//; # nuke everything after the first space (#comment)
+
+    next if (!$file); # skip null entries
+    if (! open (FILE, $file)) {
+        ok(0,"could not open $file --WARNING");
+        next;
+    }
+    while (my $file_line = <FILE>) {
+        last if $file_line =~ /^__END__/;
+        if ($file_line =~ m/(<\/?$tags>)/o) {
+            $found_html_count++;
+            $found_html .= $1;
+        }
+    }
+    close (FILE);
+    if (!$found_html_count) {
+        ok(1,"$file does not contain HTML");
+    } elsif ($found_html_count < 50) {
+      TODO: { local $TODO = q(Even little amounts of HTML should go away....);
+        ok(0,"$file contains at least $found_html_count html tags.");
+      }
+    } else {
+      ok(0,"$file contains at least $found_html_count html tags.");
+    }
 }
 
 exit 0;