[svn:DBD-Pg] r13585 - DBD-Pg/trunk/t

[email protected]
Newsgroups gmane.comp.db.postgresql.dbdpg.cvs
Message-ID <[email protected]>
Author: turnstep
Date: Mon Nov 23 10:06:23 2009
New Revision: 13585

Modified:
   DBD-Pg/trunk/t/99_pod.t

Log:
Add tests for invalid C<> with embedded html entities.


Modified: DBD-Pg/trunk/t/99_pod.t
==============================================================================
--- DBD-Pg/trunk/t/99_pod.t	(original)
+++ DBD-Pg/trunk/t/99_pod.t	Mon Nov 23 10:06:23 2009
@@ -13,7 +13,7 @@
 	plan (skip_all =>  'Test skipped unless environment variable RELEASE_TESTING is set');
 }
 
-plan tests => 10;
+plan tests => 19;
 
 my $PODVERSION = '0.95';
 eval {
@@ -21,11 +21,7 @@
 	Test::Pod->import;
 };
 
-SKIP: {
-	if ($@ or $Test::Pod::VERSION < $PODVERSION) {
-		skip ("Test::Pod $PODVERSION is required", 2);
-	}
-for my $filename (qw{
+my @pm_files = qw{
 Pg.pm
 lib/Bundle/DBD/Pg.pm
 t/lib/App/Info.pm
@@ -35,10 +31,15 @@
 t/lib/App/Info/Handler.pm
 t/lib/App/Info/Handler/Prompt.pm
 t/lib/App/Info/RDBMS.pm
-}
-) {
-	pod_file_ok($filename);
-}
+};
+
+SKIP: {
+	if ($@ or $Test::Pod::VERSION < $PODVERSION) {
+		skip ("Test::Pod $PODVERSION is required", 2);
+	}
+	for my $filename (@pm_files) {
+		pod_file_ok($filename);
+	}
 }
 
 ## We won't require everyone to have this, so silently move on if not found
@@ -199,3 +200,29 @@
 	my $t='DBD::Pg pod coverage okay';
 	pod_coverage_ok ('DBD::Pg', {trustme => $trusted_names}, $t);
 }
+
+## Now some things that are not covered by the above tests
+
+for my $filename (@pm_files) {
+	open my $fh, '<', $filename or die qq{Could not open "$filename": $!\n};
+	while (<$fh>) {
+		last if /^=/;
+	}
+	next if ! defined $_;
+	## Assume the rest is POD.
+	my $passed = 1;
+	while (<$fh>) {
+		if (/C<[^<].+[<>].+[^>]>\b/) {
+			$passed = 0;
+			diag "Failed POD escaping on line $. of $filename\n";
+			diag $_;
+		}
+	}
+	close $fh or warn qq{Could not close "$filename": $!\n};
+	if ($passed) {
+		pass "File $filename has no POD errors";
+	}
+	else {
+		fail "File $filename had at least one POD error";
+	}
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.