]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/psgi_mount.t
treewide: run update-copyrights from gnulib for 2019
[public-inbox.git] / t / psgi_mount.t
index ca573e1e633d3da60e722b9acf82c2f6133f32e4..8cac3502310c75a78930bdb910e2286f39faed14 100644 (file)
@@ -1,26 +1,22 @@
-# Copyright (C) 2016-2019 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2020 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
 use Test::More;
 use Email::MIME;
-require './t/common.perl';
+use PublicInbox::TestCommon;
 my ($tmpdir, $for_destroy) = tmpdir();
 my $maindir = "$tmpdir/main.git";
 my $addr = 'test-public@example.com';
 my $cfgpfx = "publicinbox.test";
-my @mods = qw(HTTP::Request::Common Plack::Test URI::Escape);
-foreach my $mod (@mods) {
-       eval "require $mod";
-       plan skip_all => "$mod missing for plack.t" if $@;
-}
+my @mods = qw(HTTP::Request::Common Plack::Test URI::Escape
+       Plack::Builder Plack::App::URLMap);
+require_mods(@mods);
 use_ok $_ foreach @mods;
+use_ok 'PublicInbox::WWW';
 use PublicInbox::Import;
 use PublicInbox::Git;
 use PublicInbox::Config;
-use PublicInbox::WWW;
-use Plack::Builder;
-use Plack::App::URLMap;
 my $config = PublicInbox::Config->new(\<<EOF);
 $cfgpfx.address=$addr
 $cfgpfx.inboxdir=$maindir
@@ -44,11 +40,11 @@ EOF
 }
 
 my $www = PublicInbox::WWW->new($config);
-my $app = builder {
-       enable 'Head';
-       mount '/a' => builder { sub { $www->call(@_) } };
-       mount '/b' => builder { sub { $www->call(@_) } };
-};
+my $app = builder(sub {
+       enable('Head');
+       mount('/a' => builder(sub { sub { $www->call(@_) } }));
+       mount('/b' => builder(sub { sub { $www->call(@_) } }));
+});
 
 test_psgi($app, sub {
        my ($cb) = @_;
@@ -88,10 +84,7 @@ test_psgi($app, sub {
 });
 
 SKIP: {
-       my @mods = qw(DBI DBD::SQLite Search::Xapian IO::Uncompress::Gunzip);
-       foreach my $mod (@mods) {
-               eval "require $mod" or skip "$mod not available: $@", 3;
-       }
+       require_mods(qw(DBD::SQLite Search::Xapian IO::Uncompress::Gunzip), 3);
        my $ibx = $config->lookup_name('test');
        require_ok 'PublicInbox::SearchIdx';
        PublicInbox::SearchIdx->new($ibx, 1)->index_sync;