diff options
author | Eric Wong <e@80x24.org> | 2019-09-18 19:50:50 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2019-09-18 19:51:37 +0000 |
commit | 41a555ebab603d492440e97c8ddd889617cc51f0 (patch) | |
tree | 6c403e355a3f9220470b7647380a73a4d72b6863 /t | |
parent | bda9f9417bee51e4e18808578a001b4673a4123a (diff) | |
download | public-inbox-41a555ebab603d492440e97c8ddd889617cc51f0.tar.gz |
We need to handle arbitrary integers and case-insensitive variations of human words to match git-config(1) behavior, since that's what users would expect given we use config files parseable by git-config(1).
Diffstat (limited to 't')
-rw-r--r-- | t/config.t | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -190,4 +190,24 @@ for my $s (@valid) { 'inboxes share ::Git object'); } +{ + my $check_git = !!$ENV{CHECK_GIT_BOOL}; + 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"); + if ($check_git) { + is(`git -c test.val=$t 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"); + if ($check_git) { + is(`git -c test.val=$f config --bool test.val`, + "false\n", "$f matches git-config behavior"); + } + } + is(PublicInbox::Config::_git_config_bool('bogus'), undef, + 'bogus is undef'); +} + done_testing(); |