Bug 22368: Make sure the tests will always pass
[koha.git] / t / Scrubber.t
index 0fe3a60..9bcd003 100755 (executable)
@@ -3,7 +3,10 @@
 use strict;
 use warnings;
 
-use Test::More tests => 19;
+$| = 1;
+use Test::More tests => 29;
+use Test::Warn;
+
 BEGIN {
        use FindBin;
        use lib $FindBin::Bin;
@@ -43,46 +46,39 @@ $html = q|
 At the end here, I actually have some regular text.
 |;
 
-print pretty_line("Original HTML:"), $html, "\n", pretty_line();
-$collapse and diag "Note: scrubber test output will have whitespace collapsed for readability\n";
 ok($scrubber = C4::Scrubber->new(), "Constructor: C4::Scrubber->new()");
 
 isa_ok($scrubber, 'HTML::Scrubber', 'Constructor returns HTML::Scrubber object');
 
-ok(printf("# scrubber settings: default %s, comment %s, process %s\n",
-       $scrubber->default(),$scrubber->comment(),$scrubber->process()),
-       "Outputting settings from scrubber object (type: [default])"
-);
+warning_like { $scrubber->default() } '', "\$scrubber->default ran without fault.";
+warning_like { $scrubber->comment() } '', "\$scrubber->comment ran without fault.";
+warning_like { $scrubber->process() } '', "\$scrubber->process ran without fault.";
+
 ok($result = $scrubber->scrub($html), "Getting scrubbed text (type: [default])");
-$collapse and $result =~ s/\s*\n\s*/\n/g;
-print pretty_line('default'), $result, "\n", pretty_line();
 
 foreach(@types) {
        ok($scrubber = C4::Scrubber->new($_), "testing Constructor: C4::Scrubber->new($_)");
-       ok(printf("# scrubber settings: default %s, comment %s, process %s\n",
-               $scrubber->default(),$scrubber->comment(),$scrubber->process()),
-               "Outputting settings from scrubber object (type: $_)"
-       );
+
+        warning_like { $scrubber->default() } '', "\$scrubber->default ran without fault.";
+        warning_like { $scrubber->comment() } '', "\$scrubber->comment ran without fault.";
+        warning_like { $scrubber->process() } '', "\$scrubber->process ran without fault.";
+
        ok($result = $scrubber->scrub($html), "Getting scrubbed text (type: $_)");
-       $collapse and $result =~ s/\s*\n\s*/\n/g;
-       print pretty_line($_), $result, "\n", pretty_line();
 }
 
-print "\n\n######################################################\nStart of invalid tests\n";
-
 #Test for invalid new entry
 eval{
        C4::Scrubber->new("");
-       fail("test should fail on entry of ''\n");
+       fail("test should fail on entry of ''");
 };
-pass("Test should have failed on entry of '' (empty string) and it did. YAY!\n");
+if ($@) {
+    pass("Test should have failed on entry of '' (empty string) and it did. YAY!");
+}
 
 eval{
        C4::Scrubber->new("Client");
-       fail("test should fail on entry of 'Client'\n");
+       fail("test should fail on entry of 'Client'");
 };
-pass("Test should have failed on entry of 'Client' and it did. YAY!\n");
-
-print "######################################################\n";
-
-diag "done.\n";
+if ($@) {
+    pass("Test should have failed on entry of 'Client' and it did. YAY!");
+}