- From: Olivier Thereaux via cvs-syncmail <cvsmail@w3.org>
- Date: Fri, 23 Jan 2009 20:46:03 +0000
- To: www-validator-cvs@w3.org
Update of /sources/public/perl/modules/WebService/Validator/Feed/t
In directory hutz:/tmp/cvs-serv27024/t
Modified Files:
WebService-Validator-Feed-W3C.t
Log Message:
using POST instead of GET as a workaround for 'Request-URI Too Large' issue + test suite improvements, both courtesy of Stephen Rushe
Index: WebService-Validator-Feed-W3C.t
===================================================================
RCS file: /sources/public/perl/modules/WebService/Validator/Feed/t/WebService-Validator-Feed-W3C.t,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- WebService-Validator-Feed-W3C.t 18 Nov 2005 08:03:16 -0000 1.1
+++ WebService-Validator-Feed-W3C.t 23 Jan 2009 20:46:00 -0000 1.2
@@ -3,22 +3,63 @@
#########################
-# change 'tests => 3' to 'tests => last_test_to_print';
-
+use lib qw(../lib);
use Test;
-BEGIN { plan tests => 3 };
+BEGIN { plan tests => 10 }
use WebService::Validator::Feed::W3C;
-ok(1); # If we made it this far, we're ok.
- my $val = WebService::Validator::Feed::W3C->new;
-ok(2);
-my $success = $val->validate(uri => 'http://www.w3.org/2003/05/Software/Overview.rss');
-printf " * %s\n", $_->{message}
- foreach $val->errors;
-ok(3);
-my $som = $val->som;
-print $som;
-#########################
+# Test new
+my $val = WebService::Validator::Feed::W3C->new;
+ok(ref($val), 'WebService::Validator::Feed::W3C',
+ "The object should be a WebService::Validator::Feed::W3C but isn't");
-# Insert your test code below, the Test::More module is use()ed here so read
-# its man page ( perldoc Test::More ) for help writing this test script.
+# Test a simple validate succeeds in the hitting the server
+{
+ ok($val->validate(uri => 'http://www.w3.org/2003/05/Software/Overview.rss'));
+}
+# Test that a valid feed send through "string" is regarded as valid
+{
+ my $content = <<'VALID';
+<rss version="2.0">
+<channel>
+<title>Valid link</title>
+<description>valid item link (http)</description>
+<link>http://purl.org/rss/2.0/</link>
+<item>
+<title>Valid link</title>
+<link>http://purl.org/rss/2.0/#item</link>
+</item>
+</channel>
+</rss>
+VALID
+
+ ok($val->validate(string => $content));
+ ok($val->is_valid);
+ ok(scalar $val->errors, undef, "No errors were returned");
+ ok(ref $val->warnings, 'HASH', "Warnings were returned");
+}
+
+# Test that an invalid feed send through "string" is regarded as invalid
+{
+ sleep(1); # Be nice to the validator
+
+ my $content = <<'INVALID';
+ <rss version="2.0">
+ <channel>
+ <title>Invalid link</title>
+ <description>item link must be full URL, including protocol</description>
+ <link>http://purl.org/rss/2.0/</link>
+ <item>
+ <title>Invalid link</title>
+ <link>purl.org/rss/2.0/#item</link>
+ </item>
+ </channel>
+ </rss>
+INVALID
+
+ ok($val->validate(string => $content));
+
+ ok(!$val->is_valid);
+ ok(scalar $val->errors > 0);
+ ok(scalar $val->warnings > 0);
+}
Received on Friday, 23 January 2009 20:46:18 UTC