]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/config.t
INSTALL: update with FreeBSD pkg names and reorder
[public-inbox.git] / t / config.t
index 5f0a95ba746bf80b8a0c6ac4c57d006f422e1180..ad738bd34c0d5af3d8fd7825831792d57665b2a1 100644 (file)
@@ -150,4 +150,42 @@ for my $s (@valid) {
        ok(PublicInbox::Config::valid_inbox_name($s), "$d name accepted");
 }
 
+{
+       my $f = "$tmpdir/ordered";
+       open my $fh, '>', $f or die "open: $!";
+       my @expect;
+       foreach my $i (0..3) {
+               push @expect, "$i";
+               print $fh <<"" or die "print: $!";
+[publicinbox "$i"]
+       mainrepo = /path/to/$i.git
+       address = $i\@example.com
+
+       }
+       close $fh or die "close: $!";
+       my $cfg = PublicInbox::Config->new($f);
+       my @result;
+       $cfg->each_inbox(sub { push @result, $_[0]->{name} });
+       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();