X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fidx_stack.t;h=7af096a8895775577b268bd10846b36f675792c2;hb=refs%2Fheads%2Fmaster;hp=35aff37b739f264e2f1d5106dbf14feacf2a25cd;hpb=c386663dd9ffec6ebbe64e7bb5096ee3df7d273d;p=public-inbox.git diff --git a/t/idx_stack.t b/t/idx_stack.t index 35aff37b..7af096a8 100644 --- a/t/idx_stack.t +++ b/t/idx_stack.t @@ -1,11 +1,13 @@ #!perl -w -# Copyright (C) 2020 all contributors +# Copyright (C) 2020-2021 all contributors # License: AGPL-3.0+ use strict; use Test::More; use_ok 'PublicInbox::IdxStack'; my $oid_a = '03c21563cf15c241687966b5b2a3f37cdc193316'; my $oid_b = '963caad026055ab9bcbe3ee9550247f9d8840feb'; +my $cmt_a = 'df8e4a0612545d53672036641e9f076efc94c2f6'; +my $cmt_b = '3ba7c9fa4a083c439e768882c571c2026a981ca5'; my $stk = PublicInbox::IdxStack->new; is($stk->read_prepare, $stk, 'nothing'); @@ -13,19 +15,19 @@ is($stk->num_records, 0, 'no records'); is($stk->pop_rec, undef, 'undef on empty'); $stk = PublicInbox::IdxStack->new; -$stk->push_rec('m', 1234, 5678, $oid_a); +$stk->push_rec('m', 1234, 5678, $oid_a, $cmt_a); is($stk->read_prepare, $stk, 'read_prepare'); is($stk->num_records, 1, 'num_records'); -is_deeply([$stk->pop_rec], ['m', 1234, 5678, $oid_a], 'pop once'); +is_deeply([$stk->pop_rec], ['m', 1234, 5678, $oid_a, $cmt_a], 'pop once'); is($stk->pop_rec, undef, 'undef on empty'); $stk = PublicInbox::IdxStack->new; -$stk->push_rec('m', 1234, 5678, $oid_a); -$stk->push_rec('d', 1234, 5678, $oid_b); +$stk->push_rec('m', 1234, 5678, $oid_a, $cmt_a); +$stk->push_rec('d', 1234, 5678, $oid_b, $cmt_b); is($stk->read_prepare, $stk, 'read_prepare'); is($stk->num_records, 2, 'num_records'); -is_deeply([$stk->pop_rec], ['d', 1234, 5678, $oid_b], 'pop'); -is_deeply([$stk->pop_rec], ['m', 1234, 5678, $oid_a], 'pop-pop'); +is_deeply([$stk->pop_rec], ['d', 1234, 5678, $oid_b, $cmt_b], 'pop'); +is_deeply([$stk->pop_rec], ['m', 1234, 5678, $oid_a, $cmt_a], 'pop-pop'); is($stk->pop_rec, undef, 'empty'); SKIP: { @@ -37,11 +39,11 @@ SKIP: { while (<$fh>) { chomp; my ($at, $ct, $H) = split(/\./); - $stk //= PublicInbox::IdxStack->new($H); + $stk //= PublicInbox::IdxStack->new; # not bothering to parse blobs here, just using commit OID # as a blob OID since they're the same size + format - $stk->push_rec('m', $at + 0, $ct + 0, $H); - push(@expect, [ 'm', $at, $ct, $H ]); + $stk->push_rec('m', $at + 0, $ct + 0, $H, $H); + push(@expect, [ 'm', $at, $ct, $H, $H ]); } $stk or skip('nothing from git log', 3); is($stk->read_prepare, $stk, 'read_prepare');