]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/thread-cycle.t
feed: respect feedmax, again
[public-inbox.git] / t / thread-cycle.t
index 4d60f7e39bcb8df3f99411c921e0c2924ae30157..7d85909f1f9a534186707f3d84fe7b404fe55d15 100644 (file)
@@ -1,9 +1,8 @@
-# Copyright (C) 2016 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 use strict;
 use warnings;
 use Test::More;
-use_ok('PublicInbox::SearchMsg');
 use_ok('PublicInbox::SearchThread');
 use Email::Simple;
 my $mt = eval {
@@ -51,18 +50,7 @@ my @msgs = map {
        }
 );
 
-my $th = PublicInbox::SearchThread->new(\@msgs);
-$th->thread;
-$th->order(sub { [ sort { $a->{id} cmp $b->{id} } @{$_[0]} ] });
-my $st = '';
-my @q = map { (0, $_) } @{$th->{rootset}};
-while (@q) {
-       my $level = shift @q;
-       my $node = shift @q or next;
-       $st .= (" "x$level). "$node->{id}\n";
-       my $cl = $level + 1;
-       unshift @q, map { ($cl, $_) } @{$node->{children}}
-}
+my $st = thread_to_s(\@msgs);
 
 SKIP: {
        skip 'Mail::Thread missing', 1 unless $mt;
@@ -71,7 +59,7 @@ SKIP: {
        $mt->order(sub { sort { $a->messageid cmp $b->messageid } @_ });
        my $check = '';
 
-       @q = map { (0, $_) } $mt->rootset;
+       my @q = map { (0, $_) } $mt->rootset;
        while (@q) {
                my $level = shift @q;
                my $node = shift @q or next;
@@ -83,4 +71,18 @@ SKIP: {
 
 done_testing();
 
-1;
+sub thread_to_s {
+       my ($msgs) = @_;
+       my $rootset = PublicInbox::SearchThread::thread($msgs, sub {
+               [ sort { $a->{id} cmp $b->{id} } @{$_[0]} ] });
+       my $st = '';
+       my @q = map { (0, $_) } @$rootset;
+       while (@q) {
+               my $level = shift @q;
+               my $node = shift @q or next;
+               $st .= (" "x$level). "$node->{id}\n";
+               my $cl = $level + 1;
+               unshift @q, map { ($cl, $_) } @{$node->{children}};
+       }
+       $st;
+}