use strict;
use warnings;
-use Test::More tests => 11;
+$| = 1;
+use Test::More tests => 29;
+use Test::Warn;
+
BEGIN {
use FindBin;
use lib $FindBin::Bin;
my ($scrubber,$html,$result,@types,$collapse);
$collapse = 1;
-@types = qw(comment tag);
+@types = qw(default comment tag staff);
$html = q|
<![CDATA[selfdestruct]]]>
<?php echo(" EVIL EVIL EVIL "); ?> <!-- COMMENT -->
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($_), "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: $_)"
- );
+ ok($scrubber = C4::Scrubber->new($_), "testing Constructor: C4::Scrubber->new($_)");
+
+ 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();
}
-diag "done.\n";
+
+#Test for invalid new entry
+eval{
+ C4::Scrubber->new("");
+ fail("test should fail on entry of ''");
+};
+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'");
+};
+if ($@) {
+ pass("Test should have failed on entry of 'Client' and it did. YAY!");
+}