Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / t / Scrubber.t
index 218ecdf..0fe3a60 100755 (executable)
@@ -3,11 +3,10 @@
 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');
 }
 
@@ -21,7 +20,7 @@ sub pretty_line {
 
 my ($scrubber,$html,$result,@types,$collapse);
 $collapse = 1;
-@types = qw(comment tag);
+@types = qw(default comment tag staff);
 $html = q|
 <![CDATA[selfdestruct]]&#x5d;>
 <?php  echo(" EVIL EVIL EVIL "); ?>    <!-- COMMENT -->
@@ -32,7 +31,7 @@ $html = q|
 <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: &lt;a href="badlink.html"&gt; link &lt;a&gt;</span>
+<span> I am a span trying to inject a link: &lt;a href="badlink.html"&gt; link &lt;/a&gt;</span>
 <br>
 <A NAME="evil">
        <A HREF="javascript:alert('OMG YOO R HACKED');">I am a link firing javascript.</A>
@@ -47,6 +46,9 @@ 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])"
@@ -56,7 +58,7 @@ $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($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: $_)"
@@ -65,4 +67,22 @@ foreach(@types) {
        $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";