From: Eric Wong <e@80x24.org>
Date: Fri, 19 Feb 2021 12:09:55 +0000 (-0700)
Subject: URIimap: overload "" to ->as_string
X-Git-Tag: v1.7.0~1100
X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=ae31a9e82c34727ba15e98f6ec63481cb8429606;p=public-inbox.git

URIimap: overload "" to ->as_string

This interpolation is used by the upstream URI package
and we rely on it elsewhere for HTTP(S) URIs, so save
ourselves some surprises down the line.
---

diff --git a/lib/PublicInbox/URIimap.pm b/lib/PublicInbox/URIimap.pm
index ab0908b7..db84ee5e 100644
--- a/lib/PublicInbox/URIimap.pm
+++ b/lib/PublicInbox/URIimap.pm
@@ -13,6 +13,7 @@ package PublicInbox::URIimap;
 use strict;
 use URI::Split qw(uri_split uri_join); # part of URI
 use URI::Escape qw(uri_unescape);
+use overload '""' => \&as_string;
 
 my %default_ports = (imap => 143, imaps => 993);
 
diff --git a/t/uri_imap.t b/t/uri_imap.t
index 6c4207c3..f7c78665 100644
--- a/t/uri_imap.t
+++ b/t/uri_imap.t
@@ -19,6 +19,7 @@ is($uri->auth, undef);
 is($uri->user, undef);
 
 $uri = PublicInbox::URIimap->new('imaps://foo@0/');
+is("$uri", $uri->as_string, '"" overload works');
 is($uri->host, '0', 'numeric host');
 is($uri->user, 'foo', 'user extracted');
 
diff --git a/xt/net_writer-imap.t b/xt/net_writer-imap.t
index ea812f16..dfd765be 100644
--- a/xt/net_writer-imap.t
+++ b/xt/net_writer-imap.t
@@ -29,7 +29,7 @@ $nwr->{pi_cfg} = bless {}, 'PublicInbox::Config';
 my $mics = $nwr->imap_common_init;
 my $mic = (values %$mics)[0];
 my $cleanup = PublicInbox::OnDestroy->new(sub {
-	$mic->delete($folder) or fail "delete $folder <$$folder_uri>: $@";
+	$mic->delete($folder) or fail "delete $folder <$folder_uri>: $@";
 });
 my $imap_append = $nwr->can('imap_append');
 my $smsg = bless { kw => [ 'seen' ] }, 'PublicInbox::Smsg';