X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fconfig.t;h=fe6841069f944b31340c463fc43ff10cbf31a1b4;hb=af0b0fb7a454470a32c452119d0392e0dedb3fe1;hp=ad543ad3638c0c0c78022502bfef812fdf2492bd;hpb=67592c40510dae8604580cf4b2a0a0f665b84501;p=public-inbox.git
diff --git a/t/config.t b/t/config.t
index ad543ad3..fe684106 100644
--- a/t/config.t
+++ b/t/config.t
@@ -1,4 +1,4 @@
-# Copyright (C) 2014-2020 all contributors
+# Copyright (C) 2014-2021 all contributors
# License: AGPL-3.0+
use strict;
use warnings;
@@ -10,13 +10,23 @@ my ($tmpdir, $for_destroy) = tmpdir();
{
PublicInbox::Import::init_bare($tmpdir);
- my @cmd = ('git', "--git-dir=$tmpdir", qw(config foo.bar), "hi\nhi");
+ my $inboxdir = "$tmpdir/new\nline";
+ my @cmd = ('git', "--git-dir=$tmpdir",
+ qw(config publicinbox.foo.inboxdir), $inboxdir);
is(xsys(@cmd), 0, "set config");
my $tmp = PublicInbox::Config->new("$tmpdir/config");
- is("hi\nhi", $tmp->{"foo.bar"}, "config read correctly");
- is("true", $tmp->{"core.bare"}, "used --bare repo");
+ is($tmp->{'publicinbox.foo.inboxdir'}, $inboxdir,
+ 'config read correctly');
+ is($tmp->{'core.bare'}, 'true', 'init used --bare repo');
+
+ my @warn;
+ local $SIG{__WARN__} = sub { push @warn, @_ };
+ $tmp = PublicInbox::Config->new("$tmpdir/config");
+ is($tmp->lookup_name('foo'), undef, 'reject invalid inboxdir');
+ like("@warn", qr/^E:.*must not contain `\\n'/sm,
+ 'warned about newline');
}
{
@@ -31,7 +41,6 @@ my ($tmpdir, $for_destroy) = tmpdir();
'url' => [ 'http://example.com/meta' ],
-primary_address => 'meta@public-inbox.org',
'name' => 'meta',
- feedmax => 25,
-httpbackend_limiter => undef,
nntpserver => undef,
}, "lookup matches expected output");
@@ -48,7 +57,6 @@ my ($tmpdir, $for_destroy) = tmpdir();
'inboxdir' => '/home/pi/test-main.git',
'domain' => 'public-inbox.org',
'name' => 'test',
- feedmax => 25,
'url' => [ 'http://example.com/test' ],
-httpbackend_limiter => undef,
nntpserver => undef,
@@ -210,28 +218,29 @@ EOF
{
for my $t (qw(TRUE true yes on 1 +1 -1 13 0x1 0x12 0X5)) {
- is(PublicInbox::Config::_git_config_bool($t), 1, "$t is true");
+ is(PublicInbox::Config::git_bool($t), 1, "$t is true");
is(xqx([qw(git -c), "test.val=$t",
qw(config --bool test.val)]),
"true\n", "$t matches git-config behavior");
}
for my $f (qw(FALSE false no off 0 +0 +000 00 0x00 0X0)) {
- is(PublicInbox::Config::_git_config_bool($f), 0, "$f is false");
+ is(PublicInbox::Config::git_bool($f), 0, "$f is false");
is(xqx([qw(git -c), "test.val=$f",
qw(config --bool test.val)]),
"false\n", "$f matches git-config behavior");
}
- is(PublicInbox::Config::_git_config_bool('bogus'), undef,
+ is(PublicInbox::Config::git_bool('bogus'), undef,
'bogus is undef');
}
SKIP: {
+ # XXX wildcard match requires git 2.26+
require_git('1.8.5', 2) or
skip 'git 1.8.5+ required for --url-match', 2;
my $f = "$tmpdir/urlmatch";
open my $fh, '>', $f or BAIL_OUT $!;
print $fh <