]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/config.t
run update-copyrights from gnulib for 2019
[public-inbox.git] / t / config.t
index 7531fd7552aac14d88855e3f163e12d564264ecb..b7a4ceb62e030d1efbd31c4ad53e7b0eec548cf6 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2018 all contributors <meta@public-inbox.org>
+# Copyright (C) 2014-2019 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
@@ -127,10 +127,13 @@ my @invalid = (
 
 );
 
-require Data::Dumper;
+my %X = ("\0" => '\\0', "\b" => '\\b', "\f" => '\\f', "'" => "\\'");
+my $xre = join('|', keys %X);
+
 for my $s (@invalid) {
-       my $d = Data::Dumper->new([$s])->Terse(1)->Indent(0)->Dump;
-       ok(!PublicInbox::Config::valid_inbox_name($s), "$d name rejected");
+       my $d = $s;
+       $d =~ s/($xre)/$X{$1}/g;
+       ok(!PublicInbox::Config::valid_inbox_name($s), "`$d' name rejected");
 }
 
 # obviously-valid examples
@@ -146,8 +149,7 @@ my @valid = qw(a a@example a@example.com);
 # '!', '$', '=', '+'
 push @valid, qw[bang! ca$h less< more> 1% (parens) &more eql= +plus], '#hash';
 for my $s (@valid) {
-       my $d = Data::Dumper->new([$s])->Terse(1)->Indent(0)->Dump;
-       ok(PublicInbox::Config::valid_inbox_name($s), "$d name accepted");
+       ok(PublicInbox::Config::valid_inbox_name($s), "`$s' name accepted");
 }
 
 {
@@ -169,4 +171,23 @@ for my $s (@valid) {
        is_deeply(\@result, \@expect);
 }
 
+{
+       my $pfx1 = "publicinbox.test1";
+       my $pfx2 = "publicinbox.test2";
+       my $h = {
+               "$pfx1.address" => 'test@example.com',
+               "$pfx1.mainrepo" => '/path/to/non/existent',
+               "$pfx2.address" => 'foo@example.com',
+               "$pfx2.mainrepo" => '/path/to/foo',
+               "$pfx1.coderepo" => 'project',
+               "$pfx2.coderepo" => 'project',
+               "coderepo.project.dir" => '/path/to/project.git',
+       };
+       my $cfg = PublicInbox::Config->new($h);
+       my $t1 = $cfg->lookup_name('test1');
+       my $t2 = $cfg->lookup_name('test2');
+       is($t1->{-repo_objs}->[0], $t2->{-repo_objs}->[0],
+               'inboxes share ::Git object');
+}
+
 done_testing();