about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-09-01 08:55:26 +0000
committerEric Wong <e@80x24.org>2015-09-01 08:56:07 +0000
commit1b4b2c7b8b2f2df8f114617d2e875eaf5c839ce0 (patch)
tree692f3f27b9b763d0fdc7b594246182f0957df64b /t
parent97bef984363d1279a6ac130d35f063a834e9c241 (diff)
downloadpublic-inbox-1b4b2c7b8b2f2df8f114617d2e875eaf5c839ce0.tar.gz
This allows common /m/ links to be used without a prefix,
saving 2 precious bytes for permalinks and raw messages.

Old URLs continue to redirect.
Diffstat (limited to 't')
-rw-r--r--t/cgi.t20
-rw-r--r--t/feed.t2
-rw-r--r--t/plack.t32
-rw-r--r--t/view.t6
4 files changed, 34 insertions, 26 deletions
diff --git a/t/cgi.t b/t/cgi.t
index d84e6348..a6600c20 100644
--- a/t/cgi.t
+++ b/t/cgi.t
@@ -109,7 +109,7 @@ EOF
         like($res->{body}, qr/<title>test for public-inbox/,
                 "set title in XML feed");
         like($res->{body},
-                qr!http://test\.example\.com/test/m/blah%40example\.com!,
+                qr!http://test\.example\.com/test/blah%40example\.com/!,
                 "link id set");
         like($res->{body}, qr/what\?/, "reply included");
 }
@@ -152,26 +152,26 @@ EOF
         }
         local $ENV{GIT_DIR} = $maindir;
 
-        my $res = cgi_run("/test/m/slashy%2fasdf%40example.com/raw");
+        my $res = cgi_run("/test/slashy%2fasdf%40example.com/raw");
         like($res->{body}, qr/Message-Id: <\Q$slashy_mid\E>/,
                 "slashy mid raw hit");
 
-        $res = cgi_run("/test/m/blahblah\@example.com/raw");
+        $res = cgi_run("/test/blahblah\@example.com/raw");
         like($res->{body}, qr/Message-Id: <blahblah\@example\.com>/,
                 "mid raw hit");
-        $res = cgi_run("/test/m/blahblah\@example.con/raw");
+        $res = cgi_run("/test/blahblah\@example.con/raw");
         like($res->{head}, qr/Status: 404 Not Found/, "mid raw miss");
 
-        $res = cgi_run("/test/m/blahblah\@example.com/");
+        $res = cgi_run("/test/blahblah\@example.com/");
         like($res->{body}, qr/\A<html>/, "mid html hit");
         like($res->{head}, qr/Status: 200 OK/, "200 response");
-        $res = cgi_run("/test/m/blahblah\@example.con/");
+        $res = cgi_run("/test/blahblah\@example.con/");
         like($res->{head}, qr/Status: 404 Not Found/, "mid html miss");
 
-        $res = cgi_run("/test/f/blahblah\@example.com/");
+        $res = cgi_run("/test/blahblah\@example.com/f/");
         like($res->{body}, qr/\A<html>/, "mid html");
         like($res->{head}, qr/Status: 200 OK/, "200 response");
-        $res = cgi_run("/test/f/blahblah\@example.con/");
+        $res = cgi_run("/test/blahblah\@example.con/f/");
         like($res->{head}, qr/Status: 404 Not Found/, "mid html miss");
 
         $res = cgi_run("/test/");
@@ -183,7 +183,7 @@ EOF
 {
         local $ENV{HOME} = $home;
         local $ENV{PATH} = $main_path;
-        my $path = "/test/t/blahblah%40example.com/mbox.gz";
+        my $path = "/test/blahblah%40example.com/t.mbox.gz";
         my $res = cgi_run($path);
         like($res->{head}, qr/^Status: 501 /, "search not-yet-enabled");
         my $indexed = system($index, $maindir) == 0;
@@ -203,7 +203,7 @@ EOF
 
         my $have_xml_feed = eval { require XML::Feed; 1 } if $indexed;
         if ($have_xml_feed) {
-                $path = "/test/t/blahblah%40example.com/atom";
+                $path = "/test/blahblah%40example.com/t.atom";
                 $res = cgi_run($path);
                 like($res->{head}, qr/^Status: 200 /, "atom returned 200");
                 like($res->{head}, qr!^Content-Type: application/xml!m,
diff --git a/t/feed.t b/t/feed.t
index a9955f08..e4ec7522 100644
--- a/t/feed.t
+++ b/t/feed.t
@@ -77,7 +77,7 @@ EOF
                 }
 
                 unlike($feed, qr/drop me/, "long quoted text dropped");
-                like($feed, qr!/f/\d%40example\.com/#q!,
+                like($feed, qr!/\d%40example\.com/f/#q!,
                         "/f/ url generated for long quoted text");
                 like($feed, qr/inline me here/, "short quoted text kept");
                 like($feed, qr/keep me/, "unquoted text saved");
diff --git a/t/plack.t b/t/plack.t
index 50c9e605..067a5933 100644
--- a/t/plack.t
+++ b/t/plack.t
@@ -88,7 +88,7 @@ EOF
                 is(200, $res->code, 'success response received');
                 like($res->content, qr!href="\Q$atomurl\E"!,
                         'atom URL generated');
-                like($res->content, qr!href="m/blah%40example\.com/"!,
+                like($res->content, qr!href="blah%40example\.com/"!,
                         'index generated');
         });
 
@@ -98,14 +98,14 @@ EOF
                 my $res = $cb->(GET($pfx . '/atom.xml'));
                 is(200, $res->code, 'success response received for atom');
                 like($res->content,
-                        qr!link\s+href="\Q$pfx\E/m/blah%40example\.com/"!s,
+                        qr!link\s+href="\Q$pfx\E/blah%40example\.com/"!s,
                         'atom feed generated correct URL');
         });
 
-        foreach my $t (qw(f m)) {
+        foreach my $t (('', 'f/')) {
                 test_psgi($app, sub {
                         my ($cb) = @_;
-                        my $path = "/$t/blah%40example.com/";
+                        my $path = "/blah%40example.com/$t";
                         my $res = $cb->(GET($pfx . $path));
                         is(200, $res->code, "success for $path");
                         like($res->content, qr!<title>hihi - Me</title>!,
@@ -114,8 +114,8 @@ EOF
         }
         test_psgi($app, sub {
                 my ($cb) = @_;
-                my $res = $cb->(GET($pfx . '/m/blah%40example.com/raw'));
-                is(200, $res->code, 'success response received for /m/*/raw');
+                my $res = $cb->(GET($pfx . '/blah%40example.com/raw'));
+                is(200, $res->code, 'success response received for /*/raw');
                 like($res->content, qr!\AFrom !, "mbox returned");
         });
 
@@ -126,18 +126,25 @@ EOF
                         my $res = $cb->(GET($pfx . "/$t/blah%40example.com.txt"));
                         is(301, $res->code, "redirect for old $t .txt link");
                         my $location = $res->header('Location');
-                        like($location, qr!/$t/blah%40example\.com/raw\z!,
+                        like($location, qr!/blah%40example\.com/raw\z!,
                                 ".txt redirected to /raw");
                 });
         }
-        foreach my $t (qw(m f t)) {
+
+        my %umap = (
+                'm' => '',
+                'f' => 'f/',
+                't' => 't/',
+        );
+        while (my ($t, $e) = each %umap) {
                 test_psgi($app, sub {
                         my ($cb) = @_;
                         my $res = $cb->(GET($pfx . "/$t/blah%40example.com.html"));
                         is(301, $res->code, "redirect for old $t .html link");
                         my $location = $res->header('Location');
-                        like($location, qr!/$t/blah%40example\.com/(?:#u)?\z!,
-                                ".html redirected to /raw");
+                        like($location,
+                                qr!/blah%40example\.com/$e(?:#u)?\z!,
+                                ".html redirected to new location");
                 });
         }
         foreach my $sfx (qw(mbox mbox.gz)) {
@@ -146,8 +153,9 @@ EOF
                         my $res = $cb->(GET($pfx . "/t/blah%40example.com.$sfx"));
                         is(301, $res->code, 'redirect for old thread link');
                         my $location = $res->header('Location');
-                        like($location, qr!/t/blah%40example\.com/mbox\.gz\z!,
-                                "$sfx redirected to /mbox.gz");
+                        like($location,
+                             qr!/blah%40example\.com/t\.mbox(?:\.gz)?\z!,
+                             "$sfx redirected to /mbox.gz");
                 });
         }
 }
diff --git a/t/view.t b/t/view.t
index 77cf3a32..83823d89 100644
--- a/t/view.t
+++ b/t/view.t
@@ -44,17 +44,17 @@ EOF
         my $html = PublicInbox::View::msg_html(undef, $mime);
 
         # ghetto tests
-        like($html, qr!<a\nhref="\.\./\.\./m/hello%40!s, "MID link present");
+        like($html, qr!<a\nhref="\.\./raw"!s, "raw link present");
         like($html, qr/hello world\b/, "body present");
         like($html, qr/&gt; keep this inline/, "short quoted text is inline");
         like($html, qr/<a\nid=[^>]+><\/a>&gt; Long and wordy/,
                 "long quoted text is anchored");
 
         # short page
-        my $pfx = "../../f/hello%40example.com/";
+        my $pfx = "../hello%40example.com/f/";
         $mime = Email::MIME->new($s);
         my $short = PublicInbox::View::msg_html(undef, $mime, $pfx);
-        like($short, qr!<a\nhref="\.\./\.\./f/hello%40example\.com/!s,
+        like($short, qr!<a\nhref="\.\./hello%40example\.com/f/!s,
                 "MID link present");
         like($short, qr/\n&gt; keep this inline/,
                 "short quoted text is inline");