Refactor and fix current test cases.
authorGavin Carr <gonzai@users.sourceforge.net>
Fri, 5 Oct 2007 12:06:51 +0000 (12:06 +0000)
committerGavin Carr <gonzai@users.sourceforge.net>
Fri, 5 Oct 2007 12:06:51 +0000 (12:06 +0000)
34 files changed:
t/04_plugin_dir.t
t/05_plugin_list.t [deleted file]
t/driver [new file with mode: 0644]
t/driver.t [deleted file]
t/permalinks/config/blosxom.conf [new file with mode: 0644]
t/permalinks/data/foo/bar.txt [new file with mode: 0644]
t/permalinks/data/foo/bar.txt.200607251102 [new file with mode: 0644]
t/permalinks/data/foo/baz.txt [new file with mode: 0644]
t/permalinks/data/foo/baz.txt.200607251103 [new file with mode: 0644]
t/permalinks/expected.bar [new file with mode: 0644]
t/permalinks/expected.html [new file with mode: 0644]
t/permalinks/expected.rss [new file with mode: 0644]
t/permalinks/spec.yaml [new file with mode: 0644]
t/plugin_dir/README [new file with mode: 0644]
t/plugin_dir/spec.yaml [new file with mode: 0644]
t/plugin_list/README [new file with mode: 0644]
t/plugin_list/spec.yaml [new file with mode: 0644]
t/smoketest/config/blosxom.conf [new file with mode: 0644]
t/smoketest/data/1.txt [new file with mode: 0644]
t/smoketest/data/1.txt.200607192254 [new file with mode: 0644]
t/smoketest/expected.html [new file with mode: 0644]
t/smoketest/expected.rss [new file with mode: 0644]
t/smoketest/spec.yaml [new file with mode: 0644]
t/templates/config/blosxom.conf [new file with mode: 0644]
t/templates/data/1.txt [new file with mode: 0644]
t/templates/data/1.txt.200607192254 [new file with mode: 0644]
t/templates/data/content_type.html [new file with mode: 0644]
t/templates/data/date.html [new file with mode: 0644]
t/templates/data/foot.html [new file with mode: 0644]
t/templates/data/head.html [new file with mode: 0644]
t/templates/data/story.html [new file with mode: 0644]
t/templates/expected.html [new file with mode: 0644]
t/templates/expected.rss [new file with mode: 0644]
t/templates/spec.yaml [new file with mode: 0644]

index c27c35bbedd32a5493ed64d52e58e84d0f8245f9..f176604cd5dc510170c8a23104469a4e904f33ee 100644 (file)
@@ -1,35 +1,67 @@
-# blosxom standard $plugin_dir testing
+#!/usr/bin/perl
 
 use strict;
-use Test::More tests => 1;
-use Test::Differences;
+use warnings;
+
+use Test::More qw( no_plan );
+
 use Cwd;
+use YAML;
 use IO::File;
+use File::Find;
+use File::Copy;
+#use File::Touch;
+use File::Basename;
+use Test::Differences;
+
+my $test = basename($0);
+$test =~ s/^\d+_?//;
+$test =~ s/\.t$//;
 
-my $blosxom_root = 'plugin_dir';
-$blosxom_root = "t/$blosxom_root" if -d "t/$blosxom_root";
-$blosxom_root = cwd . "/$blosxom_root";
-die "cannot find root '$blosxom_root'" 
-  unless -d $blosxom_root;
+my $testdir = $test;
+$testdir = "t/$testdir" if -d "t/$testdir";
+$testdir = cwd . "/$testdir";
+die "cannot find root '$testdir'" unless -d $testdir;
 
-my $blosxom_config_dir = "$blosxom_root/config";
+my $blosxom_config_dir = "$testdir/config";
 die "cannot find blosxom config dir '$blosxom_config_dir'" unless -d $blosxom_config_dir;
 $ENV{BLOSXOM_CONFIG_DIR} = $blosxom_config_dir;
 
-my $blosxom_cgi = "$blosxom_root/../../blosxom.cgi";
+my $blosxom_cgi = "$testdir/../../blosxom.cgi";
 die "cannot find blosxom.cgi '$blosxom_cgi'" unless -f $blosxom_cgi;
 die "blosxom.cgi '$blosxom_cgi' is not executable" unless -x $blosxom_cgi;
 
-my $fh = IO::File->new("$blosxom_root/expected.html", 'r')
-  or die "cannot open expected output file '$blosxom_root/expected.html': $!";
-my $expected;
-{
-  local $/ = undef;
-  $expected = <$fh>;
-  $fh->close;
-}
+my $spec = YAML::LoadFile ("$testdir/spec.yaml") 
+  or fail("$test - loading spec") and next;
 
-my $output = qx($blosxom_cgi);
+touch_files("$testdir/data");
 
-eq_or_diff($output, $expected, 'html output ok');
+my %expected = ();
 
+for (@{$spec->{tests}}) {
+  my ($args, $output) = @$_;
+
+  unless ($expected{$output}) {
+    my $fh = IO::File->new("$testdir/$output", 'r')
+      or die "cannot open expected output file '$output': $!";
+    {
+      local $/ = undef;
+      $expected{$output} = <$fh>;
+    }
+    $fh->close;
+  }
+
+  my $got = qx($blosxom_cgi $args);
+
+  eq_or_diff($got, $expected{$output}, "$test - got expected output for args [$args]", { style => 'Unified' });
+}
+
+sub touch_files {
+  find( sub {
+    if (/^(.*)\.(\d+)$/) {
+      copy($_, $1);
+      `touch -t $2 $1`;
+    }
+  },
+  shift );
+}
diff --git a/t/05_plugin_list.t b/t/05_plugin_list.t
deleted file mode 100644 (file)
index 5e4e952..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# blosxom $plugin_list testing
-
-use strict;
-use Test::More tests => 1;
-use Test::Differences;
-use Cwd;
-use IO::File;
-
-my $blosxom_root = 'plugin_list';
-$blosxom_root = "t/$blosxom_root" if -d "t/$blosxom_root";
-$blosxom_root = cwd . "/$blosxom_root";
-die "cannot find root '$blosxom_root'" 
-  unless -d $blosxom_root;
-
-my $blosxom_config_dir = "$blosxom_root/config";
-die "cannot find blosxom config dir '$blosxom_config_dir'" unless -d $blosxom_config_dir;
-$ENV{BLOSXOM_CONFIG_DIR} = $blosxom_config_dir;
-
-my $blosxom_cgi = "$blosxom_root/../../blosxom.cgi";
-die "cannot find blosxom.cgi '$blosxom_cgi'" unless -f $blosxom_cgi;
-die "blosxom.cgi '$blosxom_cgi' is not executable" unless -x $blosxom_cgi;
-
-my $fh = IO::File->new("$blosxom_root/expected.html", 'r')
-  or die "cannot open expected output file '$blosxom_root/expected.html': $!";
-my $expected;
-{
-  local $/ = undef;
-  $expected = <$fh>;
-  $fh->close;
-}
-
-my $output = qx($blosxom_cgi);
-
-eq_or_diff($output, $expected, 'html output ok');
-
diff --git a/t/driver b/t/driver
new file mode 100644 (file)
index 0000000..f176604
--- /dev/null
+++ b/t/driver
@@ -0,0 +1,67 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More qw( no_plan );
+
+use Cwd;
+use YAML;
+use IO::File;
+use File::Find;
+use File::Copy;
+#use File::Touch;
+use File::Basename;
+use Test::Differences;
+
+my $test = basename($0);
+$test =~ s/^\d+_?//;
+$test =~ s/\.t$//;
+
+my $testdir = $test;
+$testdir = "t/$testdir" if -d "t/$testdir";
+$testdir = cwd . "/$testdir";
+die "cannot find root '$testdir'" unless -d $testdir;
+
+my $blosxom_config_dir = "$testdir/config";
+die "cannot find blosxom config dir '$blosxom_config_dir'" unless -d $blosxom_config_dir;
+$ENV{BLOSXOM_CONFIG_DIR} = $blosxom_config_dir;
+
+my $blosxom_cgi = "$testdir/../../blosxom.cgi";
+die "cannot find blosxom.cgi '$blosxom_cgi'" unless -f $blosxom_cgi;
+die "blosxom.cgi '$blosxom_cgi' is not executable" unless -x $blosxom_cgi;
+
+my $spec = YAML::LoadFile ("$testdir/spec.yaml") 
+  or fail("$test - loading spec") and next;
+
+touch_files("$testdir/data");
+
+my %expected = ();
+
+for (@{$spec->{tests}}) {
+  my ($args, $output) = @$_;
+
+  unless ($expected{$output}) {
+    my $fh = IO::File->new("$testdir/$output", 'r')
+      or die "cannot open expected output file '$output': $!";
+    {
+      local $/ = undef;
+      $expected{$output} = <$fh>;
+    }
+    $fh->close;
+  }
+
+  my $got = qx($blosxom_cgi $args);
+
+  eq_or_diff($got, $expected{$output}, "$test - got expected output for args [$args]", { style => 'Unified' });
+}
+
+sub touch_files {
+  find( sub {
+    if (/^(.*)\.(\d+)$/) {
+      copy($_, $1);
+      `touch -t $2 $1`;
+    }
+  },
+  shift );
+}
diff --git a/t/driver.t b/t/driver.t
deleted file mode 100755 (executable)
index 36ae5ef..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-use warnings;
-
-use Test::More qw( no_plan );
-
-use File::Copy;
-use File::Compare;
-use File::Find;
-use Cwd;
-use YAML;
-
-
-my $orig_cwd = cwd();
-
-opendir(my $dh, $orig_cwd) or die("Opendir failed: $!");
-
-my @tests = grep { /^t-/ } readdir $dh;
-
-for my $testdir (@tests) {
-  my (undef, $test) = split /-/, $testdir, 2;
-  
-  chdir $testdir;
-  my $cwd = cwd();
-
-  my $spec = YAML::LoadFile ("spec.yaml");
-
-  if (! $spec) {
-    fail ("$test - loading spec");
-    next;
-  }
-
-  my $success = 1;
-
-  copy("../../blosxom.cgi", ".") or die("Copy failed: $!");
-  chmod(0777, "blosxom.cgi");
-
-  system("perl -pi -e 's{/Library/WebServer/Documents/blosxom}{$cwd/data}' blosxom.cgi") == 0
-      or die "$!";
-
-  touch_files ();
-
-  for (@{$spec->{tests}}) {
-    my ($args, $output) = @$_;
-
-    system("./blosxom.cgi $args > ${output}.got") == 0
-        or die "$!";
-
-    if (ok(compare("${output}.got", $output) == 0, 
-           "$test - Got expected output for args [$args]")) {
-      unlink("${output}.got");
-    } else {
-      $success = 0;
-    }
-  }
-
-  if ($success) {
-    unlink("blosxom.cgi");
-  }
-
-  chdir $orig_cwd;
-}
-
-
-
-sub touch_files {
-  find( sub {
-    if (/^(.*)\.(\d+)$/) {
-      copy($_, $1);
-      `touch -t $2 $1`;
-    }
-  },
-        "./data");
-}
diff --git a/t/permalinks/config/blosxom.conf b/t/permalinks/config/blosxom.conf
new file mode 100644 (file)
index 0000000..334ecc2
--- /dev/null
@@ -0,0 +1,2 @@
+$datadir = "$ENV{BLOSXOM_CONFIG_DIR}/../data";
+$blog_encoding = 'ISO-8859-1';
diff --git a/t/permalinks/data/foo/bar.txt b/t/permalinks/data/foo/bar.txt
new file mode 100644 (file)
index 0000000..1e06cbd
--- /dev/null
@@ -0,0 +1,4 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
diff --git a/t/permalinks/data/foo/bar.txt.200607251102 b/t/permalinks/data/foo/bar.txt.200607251102
new file mode 100644 (file)
index 0000000..1e06cbd
--- /dev/null
@@ -0,0 +1,4 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
diff --git a/t/permalinks/data/foo/baz.txt b/t/permalinks/data/foo/baz.txt
new file mode 100644 (file)
index 0000000..f946d24
--- /dev/null
@@ -0,0 +1,8 @@
+Lorem ipso
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/permalinks/data/foo/baz.txt.200607251103 b/t/permalinks/data/foo/baz.txt.200607251103
new file mode 100644 (file)
index 0000000..f946d24
--- /dev/null
@@ -0,0 +1,8 @@
+Lorem ipso
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/permalinks/expected.bar b/t/permalinks/expected.bar
new file mode 100644 (file)
index 0000000..72d9ef6
--- /dev/null
@@ -0,0 +1,31 @@
+Content-Type: text/html; charset=ISO-8859-1\r
+\r
+<html>
+    <head>
+        <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
+        <link rel="alternate" type="type="application/rss+xml" title="RSS" href="http://localhost/index.rss" />
+        <title>My Weblog   
+        </title>
+    </head>
+    <body>
+        <center>
+            <font size="+3">My Weblog</font><br />
+              
+        </center>
+        <p />
+        <h3>Tue, 25 Jul 2006</h3>
+       <p>
+           <a name="bar"><b>Lorem ipsum</b></a><br />
+           Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. <br />
+           <br />
+           posted at: 11:02 | path: <a href="http://localhost/foo">/foo </a> | <a href="http://localhost/2006/07/25#bar">permanent link to this entry</a>
+       </p>
+
+        <p />
+        <center>
+            <a href="http://blosxom.sourceforge.net/"><img src="http://blosxom.sourceforge.net/images/pb_blosxom.gif" border="0" /></a>
+        </center>
+    </body>
+</html>
diff --git a/t/permalinks/expected.html b/t/permalinks/expected.html
new file mode 100644 (file)
index 0000000..cd79989
--- /dev/null
@@ -0,0 +1,43 @@
+Content-Type: text/html; charset=ISO-8859-1\r
+\r
+<html>
+    <head>
+        <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
+        <link rel="alternate" type="type="application/rss+xml" title="RSS" href="http://localhost/index.rss" />
+        <title>My Weblog   
+        </title>
+    </head>
+    <body>
+        <center>
+            <font size="+3">My Weblog</font><br />
+              
+        </center>
+        <p />
+        <h3>Tue, 25 Jul 2006</h3>
+       <p>
+           <a name="baz"><b>Lorem ipso</b></a><br />
+           Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.<br />
+           <br />
+           posted at: 11:03 | path: <a href="http://localhost/foo">/foo </a> | <a href="http://localhost/2006/07/25#baz">permanent link to this entry</a>
+       </p>
+       <p>
+           <a name="bar"><b>Lorem ipsum</b></a><br />
+           Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. <br />
+           <br />
+           posted at: 11:02 | path: <a href="http://localhost/foo">/foo </a> | <a href="http://localhost/2006/07/25#bar">permanent link to this entry</a>
+       </p>
+
+        <p />
+        <center>
+            <a href="http://blosxom.sourceforge.net/"><img src="http://blosxom.sourceforge.net/images/pb_blosxom.gif" border="0" /></a>
+        </center>
+    </body>
+</html>
diff --git a/t/permalinks/expected.rss b/t/permalinks/expected.rss
new file mode 100644 (file)
index 0000000..1b076d4
--- /dev/null
@@ -0,0 +1,34 @@
+Content-Type: text/xml; charset=ISO-8859-1\r
+\r
+<?xml version="1.0"?>
+<!-- name="generator" content="blosxom/2.0.2" -->
+<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+
+<rss version="0.91">
+  <channel>
+    <title>My Weblog   </title>
+    <link>http://localhost</link>
+    <description>Yet another Blosxom weblog.</description>
+    <language>en</language>
+
+  <item>
+    <title>Lorem ipsum</title>
+    <link>http://localhost/2006/07/19#1</link>
+    <description>Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.</description>
+  </item>
+  </channel>
+</rss>
diff --git a/t/permalinks/spec.yaml b/t/permalinks/spec.yaml
new file mode 100644 (file)
index 0000000..bec01ec
--- /dev/null
@@ -0,0 +1,18 @@
+tests:
+  - 
+    - ""
+    - expected.html
+  -
+    - path=/foo
+    - expected.html
+# GC: the following test fails because $path_info = test#bar, but via CGI the 
+#   #bar is stripped by the CGI module. So I'm not sure what this is testing.
+# -
+#   - path=/foo#bar
+#   - expected.html
+  -
+    - path=/foo/bar.html
+    - expected.bar
+#  -
+#    - path=/2006/07/25/bar.html
+#    - expected.bar
diff --git a/t/plugin_dir/README b/t/plugin_dir/README
new file mode 100644 (file)
index 0000000..24b3602
--- /dev/null
@@ -0,0 +1 @@
+Testing plugin loading via walking the standard $plugin_dir 
diff --git a/t/plugin_dir/spec.yaml b/t/plugin_dir/spec.yaml
new file mode 100644 (file)
index 0000000..93883d3
--- /dev/null
@@ -0,0 +1,4 @@
+tests:
+  - 
+    - ""
+    - expected.html
diff --git a/t/plugin_list/README b/t/plugin_list/README
new file mode 100644 (file)
index 0000000..5b3536c
--- /dev/null
@@ -0,0 +1 @@
+Testing plugin loading via $plugin_list
diff --git a/t/plugin_list/spec.yaml b/t/plugin_list/spec.yaml
new file mode 100644 (file)
index 0000000..93883d3
--- /dev/null
@@ -0,0 +1,4 @@
+tests:
+  - 
+    - ""
+    - expected.html
diff --git a/t/smoketest/config/blosxom.conf b/t/smoketest/config/blosxom.conf
new file mode 100644 (file)
index 0000000..334ecc2
--- /dev/null
@@ -0,0 +1,2 @@
+$datadir = "$ENV{BLOSXOM_CONFIG_DIR}/../data";
+$blog_encoding = 'ISO-8859-1';
diff --git a/t/smoketest/data/1.txt b/t/smoketest/data/1.txt
new file mode 100644 (file)
index 0000000..ea2a941
--- /dev/null
@@ -0,0 +1,16 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/smoketest/data/1.txt.200607192254 b/t/smoketest/data/1.txt.200607192254
new file mode 100644 (file)
index 0000000..ea2a941
--- /dev/null
@@ -0,0 +1,16 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/smoketest/expected.html b/t/smoketest/expected.html
new file mode 100644 (file)
index 0000000..0de1f33
--- /dev/null
@@ -0,0 +1,43 @@
+Content-Type: text/html; charset=ISO-8859-1\r
+\r
+<html>
+    <head>
+        <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
+        <link rel="alternate" type="type="application/rss+xml" title="RSS" href="http://localhost/index.rss" />
+        <title>My Weblog   
+        </title>
+    </head>
+    <body>
+        <center>
+            <font size="+3">My Weblog</font><br />
+              
+        </center>
+        <p />
+        <h3>Wed, 19 Jul 2006</h3>
+       <p>
+           <a name="1"><b>Lorem ipsum</b></a><br />
+           Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.<br />
+           <br />
+           posted at: 22:54 | path: <a href="http://localhost"> </a> | <a href="http://localhost/2006/07/19#1">permanent link to this entry</a>
+       </p>
+
+        <p />
+        <center>
+            <a href="http://blosxom.sourceforge.net/"><img src="http://blosxom.sourceforge.net/images/pb_blosxom.gif" border="0" /></a>
+        </center>
+    </body>
+</html>
diff --git a/t/smoketest/expected.rss b/t/smoketest/expected.rss
new file mode 100644 (file)
index 0000000..4ea06ca
--- /dev/null
@@ -0,0 +1,36 @@
+Content-Type: text/xml; charset=ISO-8859-1\r
+\r
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<rss version="2.0">
+  <channel>
+    <title>My Weblog</title>
+    <link>http://localhost/</link>
+    <description>Yet another Blosxom weblog.</description>
+    <language>en</language>
+    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
+    <generator>blosxom/2.0.2</generator>
+
+  <item>
+    <title>Lorem ipsum</title>
+    <pubDate>Wed, 19 Jul 2006 22:54:00 +1000</pubDate>
+    <link>http://localhost/2006/07/19#1</link>
+    <category></category>
+    <guid isPermaLink="false">/1</guid>
+    <description>Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.</description>
+  </item>
+  </channel>
+</rss>
diff --git a/t/smoketest/spec.yaml b/t/smoketest/spec.yaml
new file mode 100644 (file)
index 0000000..02f8989
--- /dev/null
@@ -0,0 +1,7 @@
+tests:
+  - 
+    - ""
+    - expected.html
+  - 
+    - "flav=rss"
+    - "expected.rss"
diff --git a/t/templates/config/blosxom.conf b/t/templates/config/blosxom.conf
new file mode 100644 (file)
index 0000000..ae83e48
--- /dev/null
@@ -0,0 +1 @@
+$datadir = "$ENV{BLOSXOM_CONFIG_DIR}/../data";
diff --git a/t/templates/data/1.txt b/t/templates/data/1.txt
new file mode 100644 (file)
index 0000000..ea2a941
--- /dev/null
@@ -0,0 +1,16 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/templates/data/1.txt.200607192254 b/t/templates/data/1.txt.200607192254
new file mode 100644 (file)
index 0000000..ea2a941
--- /dev/null
@@ -0,0 +1,16 @@
+Lorem ipsum
+Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.
diff --git a/t/templates/data/content_type.html b/t/templates/data/content_type.html
new file mode 100644 (file)
index 0000000..e81f92a
--- /dev/null
@@ -0,0 +1 @@
+text/xhtml; charset=UTF-8
diff --git a/t/templates/data/date.html b/t/templates/data/date.html
new file mode 100644 (file)
index 0000000..2cdf76d
--- /dev/null
@@ -0,0 +1 @@
+        <h3>$yr-$mo_num-$da</h3>
diff --git a/t/templates/data/foot.html b/t/templates/data/foot.html
new file mode 100644 (file)
index 0000000..5179ade
--- /dev/null
@@ -0,0 +1,3 @@
+
+    </body>
+</html>
diff --git a/t/templates/data/head.html b/t/templates/data/head.html
new file mode 100644 (file)
index 0000000..47130be
--- /dev/null
@@ -0,0 +1,11 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+    <head>
+        <link rel="alternate" type="type="application/rss+xml" title="RSS" href="$url/index.rss" />
+        <title>$blog_title $path_info_da $path_info_mo $path_info_yr
+        </title>
+    </head>
+    <body>
+        <h1>$blog_title</h1>
+        <h2>$path_info_da $path_info_mo $path_info_yr</h2>
diff --git a/t/templates/data/story.html b/t/templates/data/story.html
new file mode 100644 (file)
index 0000000..7f3d068
--- /dev/null
@@ -0,0 +1,3 @@
+        <h4><a name="$fn">$title</a></h4>
+        <div>$body</div>
+        <p>posted at: $ti | path: <a href="$url$path">$path </a> | <a href="$url/$yr/$mo_num/$da#$fn">permanent link to this entry</a></p>
diff --git a/t/templates/expected.html b/t/templates/expected.html
new file mode 100644 (file)
index 0000000..2dd823b
--- /dev/null
@@ -0,0 +1,34 @@
+Content-Type: text/xhtml; charset=UTF-8\r
+\r
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+    <head>
+        <link rel="alternate" type="type="application/rss+xml" title="RSS" href="http://localhost/index.rss" />
+        <title>My Weblog   
+        </title>
+    </head>
+    <body>
+        <h1>My Weblog</h1>
+        <h2>  </h2>
+        <h3>2006-07-19</h3>
+        <h4><a name="1">Lorem ipsum</a></h4>
+        <div>Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.</div>
+        <p>posted at: 22:54 | path: <a href="http://localhost"> </a> | <a href="http://localhost/2006/07/19#1">permanent link to this entry</a></p>
+
+    </body>
+</html>
diff --git a/t/templates/expected.rss b/t/templates/expected.rss
new file mode 100644 (file)
index 0000000..a03fc8a
--- /dev/null
@@ -0,0 +1,34 @@
+Content-Type: text/xml; charset=ISO-8859-1\r
+\r
+<?xml version="1.0"?>
+<!-- name="generator" content="blosxom/2.0.2" -->
+<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
+
+<rss version="0.91">
+  <channel>
+    <title>My Weblog   </title>
+    <link>http://localhost/./blosxom.cgi</link>
+    <description>Yet another Blosxom weblog.</description>
+    <language>en</language>
+
+  <item>
+    <title>Lorem ipsum</title>
+    <link>http://localhost/./blosxom.cgi/2006/07/19#1</link>
+    <description>Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet ipso
+facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor sit
+amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+facto.Lorem ipsum dolor sit amet ipso facto.Lorem ipsum dolor sit amet
+ipso facto.Lorem ipsum dolor sit amet ipso facto. Lorem ipsum dolor
+sit amet ipso facto.Lorem ipsum dolor sit amet ipso facto. 
+
+Lorem ipso hoccer foer tyr wuz de ras cora dola tymon ipso hoc cer fuz
+de ramas cora dola tymon ipso hoccer. Lorem ipso foer tyr wuz de ramas
+cora dola tym ipso hor.Lorem ipso foer tyr wuz de ramas cora dola tym
+ipso hor tyr wuz de ramas cora dola tymon ipso foer tyr wuz de ramas
+cora dola tymo. Lorem ipso hoccer foer tyr wuz de ras cora dola tymon
+ipso hoc cer fuz de ramas cora dola tymon ipso hoccer. Lorem ipso foer
+tyr wuz de ramas cora dola tym ipso hor.</description>
+  </item>
+  </channel>
+</rss>
diff --git a/t/templates/spec.yaml b/t/templates/spec.yaml
new file mode 100644 (file)
index 0000000..93883d3
--- /dev/null
@@ -0,0 +1,4 @@
+tests:
+  - 
+    - ""
+    - expected.html