about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Inbox.pm2
-rw-r--r--t/inbox.t3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 27218de7..c982d0b4 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -73,7 +73,7 @@ sub base_url {
         } else {
                 # either called from a non-PSGI environment (e.g. NNTP/POP3)
                 $self->{-base_url} ||= do {
-                        my $url = $self->{url};
+                        my $url = $self->{url} or return undef;
                         # expand protocol-relative URLs to HTTPS if we're
                         # not inside a web server
                         $url = "https:$url" if $url =~ m!\A//!;
diff --git a/t/inbox.t b/t/inbox.t
index 45ba1df2..9909dc53 100644
--- a/t/inbox.t
+++ b/t/inbox.t
@@ -9,4 +9,7 @@ is($x->base_url, 'https://example.com/test/', 'expanded protocol-relative');
 $x = PublicInbox::Inbox->new({url => 'http://example.com/test'});
 is($x->base_url, 'http://example.com/test/', 'added trailing slash');
 
+$x = PublicInbox::Inbox->new({});
+is($x->base_url, undef, 'undef base_url allowed');
+
 done_testing();