From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id C74A420193 for ; Fri, 12 Aug 2016 02:22:17 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] config: do not nest multi-value altid arrays Date: Fri, 12 Aug 2016 02:22:17 +0000 Message-Id: <20160812022217.15072-1-e@80x24.org> List-Id: Oops. We will inevitably need to support multiple altids for a public-inbox one day. --- lib/PublicInbox/Config.pm | 2 +- t/config.t | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/PublicInbox/Config.pm b/lib/PublicInbox/Config.pm index cd88548..5eae1f1 100644 --- a/lib/PublicInbox/Config.pm +++ b/lib/PublicInbox/Config.pm @@ -147,7 +147,7 @@ sub _fill { } foreach my $k (qw(altid)) { # TODO: more arrays if (defined(my $v = $self->{"$pfx.$k"})) { - $rv->{$k} = [ $v ]; + $rv->{$k} = ref($v) eq 'ARRAY' ? $v : [ $v ]; } } diff --git a/t/config.t b/t/config.t index 77e8f4a..073d1d0 100644 --- a/t/config.t +++ b/t/config.t @@ -50,4 +50,17 @@ my $tmpdir = tempdir('pi-config-XXXXXX', TMPDIR => 1, CLEANUP => 1); }, "lookup matches expected output for test"); } + +{ + my $cfgpfx = "publicinbox.test"; + my @altid = qw(serial:gmane:file=a serial:enamg:file=b); + my $config = PublicInbox::Config->new({ + "$cfgpfx.address" => 'test@example.com', + "$cfgpfx.mainrepo" => '/path/to/non/existent', + "$cfgpfx.altid" => [ @altid ], + }); + my $ibx = $config->lookup_name('test'); + is_deeply($ibx->{altid}, [ @altid ]); +} + done_testing(); -- EW