Add testing to atom, fix RSS links
Tomas Doran [Mon, 18 Jan 2010 23:43:56 +0000 (23:43 +0000)]
lib/Gitalist/Controller/Repository.pm
t/01app.t
t/atom.t [new file with mode: 0644]

index 33e6f53..b3ed666 100644 (file)
@@ -105,7 +105,7 @@ sub rss : Chained('find') Args(0) {
   my $rss = XML::RSS->new(version => '2.0');
   $rss->channel(
     title          => lc(Sys::Hostname::hostname()) . ' - ' . Gitalist->config->{name},
-    link           => $c->uri_for('summary', {p=>$repository->name}),
+    link           => $c->uri_for_action('/repository/summary', [$repository->name]),
     language       => 'en',
     description    => $repository->description,
     pubDate        => DateTime->now,
index 256c2ed..42ff71e 100644 (file)
--- a/t/01app.t
+++ b/t/01app.t
@@ -10,9 +10,7 @@ BEGIN {
     use_ok 'Catalyst::Test', 'Gitalist';
 }
 
-ok( request('/')->is_success, 'Request should succeed' );
-
-for my $p (qw/ repo1 nodescription bare.git opml /) {
+for my $p ('', qw/ repo1 nodescription bare.git opml /) {
     my $path = '/' . $p;
     ok( request($path)->is_success, "$path should succeed");
 }
diff --git a/t/atom.t b/t/atom.t
new file mode 100644 (file)
index 0000000..1964d2c
--- /dev/null
+++ b/t/atom.t
@@ -0,0 +1,25 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More;
+use FindBin qw/$Bin/;
+
+BEGIN {
+    $ENV{GITALIST_CONFIG} = $Bin;
+    $ENV{GITALIST_REPO_DIR} = '';
+    use_ok 'Catalyst::Test', 'Gitalist';
+}
+
+my $res = request('/repo1/atom');
+ok $res->is_success;
+
+TODO: {
+    local $TODO = "Does not work yet. Need similar info to RSS feed";
+    like $res->content, qr{link>http://localhost/repo1</link};
+    like $res->content, qr{description>some test repository</description};
+}
+like $res->content, qr{add dir1/file2</div};
+like $res->content, qr{<id>http://localhost/repo1/36c6c6708b8360d7023e8a1649c45bcf9b3bd818</id};
+like $res->content, qr{title>add dir1/file2</title};
+
+done_testing;