use strict;
use warnings;
-use Test::More tests => 10;
+use Test::More tests => 19;
BEGIN {
use FindBin;
use lib $FindBin::Bin;
- use override_context_prefs;
use_ok('C4::Scrubber');
}
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 -->
<em FAKE="attribute" > I am em with fake="attribute" </em><br />
<B> I am BOLD </B><br />
<span style="background-image: url(http://hackersite.cn/porno.jpg);"> I am a span w/ style. Bad style.</span>
-<span> I am a span trying to inject a link: <a href="badlink.html"> link <a></span>
+<span> I am a span trying to inject a link: <a href="badlink.html"> link </a></span>
<br>
<A NAME="evil">
<A HREF="javascript:alert('OMG YOO R HACKED');">I am a link firing javascript.</A>
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])"
print pretty_line('default'), $result, "\n", pretty_line();
foreach(@types) {
- ok($scrubber = C4::Scrubber->new($_), "Constructor: C4::Scrubber->new($_)");
+ 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: $_)"
$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");
+};
+pass("Test should have failed on entry of '' (empty string) and it did. YAY!\n");
+
+eval{
+ C4::Scrubber->new("Client");
+ fail("test should fail on entry of 'Client'\n");
+};
+pass("Test should have failed on entry of 'Client' and it did. YAY!\n");
+
+print "######################################################\n";
+
diag "done.\n";