]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/thread-cycle.t
www: drop --subject from "git send-email" instructions
[public-inbox.git] / t / thread-cycle.t
index 4b47c01c37c1c9b81b4a684c85d2326323f62d3b..1e5dfb51ab47a2865f9ab7835eda154291a5e65e 100644 (file)
@@ -96,12 +96,31 @@ if ('sorting by Date') {
        is("\n".$backward, "\n".$forward, 'forward and backward matches');
 }
 
-done_testing();
+SKIP: {
+       require_mods 'Devel::Cycle', 1;
+       Devel::Cycle->import('find_cycle');
+       my @dup = (
+               { mid => 5, references => '<6>' },
+               { mid => 5, references => '<6> <1>' },
+       );
+       open my $fh, '+>', \(my $out = '') or xbail "open: $!";
+       (undef, $smsgs) = $make_objs->(@dup);
+       eval 'package EmptyInbox; sub smsg_by_mid { undef }';
+       my $ctx = { ibx => bless {}, 'EmptyInbox' };
+       my $rootset = PublicInbox::SearchThread::thread($smsgs, sub {
+               @{$_[0]} = sort { $a->{mid} cmp $b->{mid} } @{$_[0]} }, $ctx);
+       my $oldout = select $fh;
+       find_cycle($rootset);
+       select $oldout;
+       is($out, '', 'nothing from find_cycle');
+} # Devel::Cycle check
+
+done_testing;
 
 sub thread_to_s {
        my ($msgs) = @_;
        my $rootset = PublicInbox::SearchThread::thread($msgs, sub {
-               [ sort { $a->{mid} cmp $b->{mid} } @{$_[0]} ] });
+               @{$_[0]} = sort { $a->{mid} cmp $b->{mid} } @{$_[0]} });
        my $st = '';
        my @q = map { (0, $_) } @$rootset;
        while (@q) {