]> sipb.mit.edu Git - ikiwiki.git/commitdiff
add test case for RSS url munging
authorJoey Hess <joey@kitenet.net>
Tue, 16 Nov 2010 20:48:42 +0000 (16:48 -0400)
committerJoey Hess <joey@kitenet.net>
Tue, 16 Nov 2010 20:48:42 +0000 (16:48 -0400)
t/rssurls.t [new file with mode: 0755]

diff --git a/t/rssurls.t b/t/rssurls.t
new file mode 100755 (executable)
index 0000000..8707704
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use Test::More tests => 13;
+
+BEGIN { use_ok("IkiWiki::Plugin::inline"); }
+
+# Test the absolute_urls function, used to fix up relative urls for rss
+# feeds.
+sub test {
+       my $input=shift;
+       my $baseurl=shift;
+       my $expected=shift;
+       $expected=~s/URL/$baseurl/g;
+       is(IkiWiki::absolute_urls($input, $baseurl), $expected);
+       # try it with single quoting -- it's ok if the result comes back
+       # double or single-quoted
+       $input=~s/"/'/g;
+       my $expected_alt=$expected;
+       $expected_alt=~s/"/'/g;
+       my $ret=IkiWiki::absolute_urls($input, $baseurl);
+       ok(($ret eq $expected) || ($ret eq $expected_alt), "$ret vs $expected");
+}
+
+sub unchanged {
+       test($_[0], $_[1], $_[0]);
+}
+
+my $url="http://example.com/blog/foo/";
+unchanged("foo", $url);
+unchanged('<a href="http://other.com/bar.html">', $url, );
+test('<a href="bar.html">', $url, '<a href="URLbar.html">');
+test('<a href="/bar.html">', $url, '<a href="http://example.com/bar.html">');
+test('<img src="bar.png" />', $url, '<img src="URLbar.png" />');
+test('<img src="/bar.png" />', $url, '<img src="http://example.com/bar.png" />');
+# off until bug #603736 is fixed
+#test('<video controls src="bar.ogg">', $url, '<video controls src="URLbar.ogg">');