X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/2df57e9906a37691dbc6e9c2179beab6f11dd0ea..f5a1550441a9d58652d93deacc333f143a7ecfbd:/t/podcast.t?ds=sidebyside

diff --git a/t/podcast.t b/t/podcast.t
index a00545b98..708ac7640 100755
--- a/t/podcast.t
+++ b/t/podcast.t
@@ -3,19 +3,34 @@ use warnings;
 use strict;
 
 BEGIN {
-	eval q{use XML::Feed; use HTML::Parser; use HTML::LinkExtor};
+	eval q{use XML::Feed; use HTML::Parser; use HTML::LinkExtor; use File::MimeInfo};
 	if ($@) {
 		eval q{use Test::More skip_all =>
-			"XML::Feed and/or HTML::Parser not available"};
+			"XML::Feed and/or HTML::Parser or File::MimeInfo not available"};
 	}
 	else {
-		eval q{use Test::More tests => 136};
+		eval q{use Test::More tests => 137};
 	}
 }
 
 use Cwd;
 use File::Basename;
 
+my $installed = $ENV{INSTALLED_TESTS};
+
+my @base_command;
+if ($installed) {
+	ok(1, "running installed");
+	@base_command = qw(ikiwiki);
+}
+else {
+	ok(! system("make -s ikiwiki.out"));
+	@base_command = ("perl", "-I".getcwd, qw(./ikiwiki.out
+		--underlaydir=underlays/basewiki
+		--set underlaydirbase=underlays
+		--templatedir=templates));
+}
+
 my $tmp = 't/tmp';
 my $statedir = 't/tinypodcast/.ikiwiki';
 
@@ -23,10 +38,8 @@ sub podcast {
 	my $podcast_style = shift;
 
 	my $baseurl = 'http://example.com';
-	my @command = (qw(./ikiwiki.out -plugin inline -rss -atom));
-	push @command, qw(-underlaydir=underlays/basewiki);
-	push @command, qw(-set underlaydirbase=underlays -templatedir=templates);
-	push @command, "-url=$baseurl", qw(t/tinypodcast), "$tmp/out";
+	my @command = (@base_command, qw(--plugin inline --rss --atom));
+	push @command, "--url=$baseurl", qw(t/tinypodcast), "$tmp/out";
 
 	ok(! system("mkdir $tmp"),
 		q{setup});
@@ -37,7 +50,7 @@ sub podcast {
 		'simplepost'	=> undef,
 		'piano.mp3'	=> 'audio/mpeg',
 		'scroll.3gp'	=> 'video/3gpp',
-		'walter.ogg'	=> 'video/x-theora+ogg',
+		'walter.ogg'	=> 'audio/ogg',
 	);
 
 	for my $format (qw(atom rss)) {
@@ -113,9 +126,7 @@ sub podcast {
 }
 
 sub single_page_html {
-	my @command = (qw(./ikiwiki.out));
-	push @command, qw(-underlaydir=underlays/basewiki);
-	push @command, qw(-set underlaydirbase=underlays -templatedir=templates);
+	my @command = @base_command;
 	push @command, qw(t/tinypodcast), "$tmp/out";
 
 	ok(! system("mkdir $tmp"),
@@ -126,41 +137,39 @@ sub single_page_html {
 	my $html = "$tmp/out/pianopost/index.html";
 	like(_extract_html_content($html, 'content'), qr/has content and/m,
 		q{html body text});
-	like(_extract_html_content($html, 'enclosure'), qr/this episode/m,
+	like(_extract_html_content($html, 'enclosure'), qr/Download/m,
 		q{html enclosure});
 	my ($href) = _extract_html_links($html, 'piano');
 	is($href, '/piano.mp3',
-		q{html enclosure sans -url is site-absolute});
+		q{html enclosure sans --url is site-absolute});
 
 	$html = "$tmp/out/attempted_multiple_enclosures/index.html";
 	like(_extract_html_content($html, 'content'), qr/has content and/m,
 		q{html body text});
-	like(_extract_html_content($html, 'enclosure'), qr/this episode/m,
+	like(_extract_html_content($html, 'enclosure'), qr/Download/m,
 		q{html enclosure});
 	($href) = _extract_html_links($html, 'walter');
 	is($href, '/walter.ogg',
-		q{html enclosure sans -url is site-absolute});
+		q{html enclosure sans --url is site-absolute});
 
 	my $baseurl = 'http://example.com';
-	ok(! system(@command, "-url=$baseurl", q{--rebuild}));
+	ok(! system(@command, "--url=$baseurl", q{--rebuild}));
 
 	$html = "$tmp/out/pianopost/index.html";
 	($href) = _extract_html_links($html, 'piano');
 	is($href, "$baseurl/piano.mp3",
-		q{html enclosure with -url is fully absolute});
+		q{html enclosure with --url is fully absolute});
 
 	$html = "$tmp/out/attempted_multiple_enclosures/index.html";
 	($href) = _extract_html_links($html, 'walter');
 	is($href, "$baseurl/walter.ogg",
-		q{html enclosure with -url is fully absolute});
+		q{html enclosure with --url is fully absolute});
 
 	ok(! system("rm -rf $tmp $statedir"), q{teardown});
 }
 
 sub inlined_pages_html {
-	my @command = (qw(./ikiwiki.out -plugin inline));
-	push @command, qw(-underlaydir=underlays/basewiki);
-	push @command, qw(-set underlaydirbase=underlays -templatedir=templates);
+	my @command = (@base_command, qw(--plugin inline));
 	push @command, qw(t/tinypodcast), "$tmp/out";
 
 	ok(! system("mkdir $tmp"),
@@ -175,14 +184,14 @@ sub inlined_pages_html {
 	like($contents, qr/has content and only one/m,
 		q{html body text from attempted_multiple_enclosures});
 	my $enclosures = _extract_html_content($html, 'inlineenclosure');
-	like($enclosures, qr/this episode/m,
+	like($enclosures, qr/Download/m,
 		q{html enclosure});
 	my ($href) = _extract_html_links($html, 'piano.mp3');
 	is($href, '/piano.mp3',
-		q{html enclosure from pianopost sans -url});
+		q{html enclosure from pianopost sans --url});
 	($href) = _extract_html_links($html, 'walter.ogg');
 	is($href, '/walter.ogg',
-		q{html enclosure from attempted_multiple_enclosures sans -url});
+		q{html enclosure from attempted_multiple_enclosures sans --url});
 
 	ok(! system("rm -rf $tmp $statedir"), q{teardown});
 }