X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fimapd.t;h=2c4315dec30fb19b003a790944ebb2c7e0227a0d;hb=daa98292c95a403975fb4906088c160758b15106;hp=3d0be3408467785a96dfa5eb0b22e35d1f18ab4a;hpb=94245dfc85576b5981b23fc5c917189b5fbbe3e8;p=public-inbox.git diff --git a/t/imapd.t b/t/imapd.t index 3d0be340..2c4315de 100644 --- a/t/imapd.t +++ b/t/imapd.t @@ -116,6 +116,19 @@ $ret = $mic->search('uid 1:*') or BAIL_OUT "SEARCH FAIL $@"; is_deeply($ret, [ 1 ], 'search UID 1:* works'); is_deeply(scalar $mic->flags('1'), [], '->flags works'); +{ + # RFC 3501 section 6.4.8 states: + # Also note that a UID range of 559:* always includes the + # UID of the last message in the mailbox, even if 559 is + # higher than any assigned UID value. + my $exp = $mic->fetch_hash(1, 'UID'); + $ret = $mic->fetch_hash('559:*', 'UID'); + is_deeply($ret, $exp, 'beginning range too big'); + for my $r (qw(559:558 558:559)) { + $ret = $mic->fetch_hash($r, 'UID'); + is_deeply($ret, {}, "out-of-range UID FETCH $r"); + } +} for my $r ('1:*', '1') { $ret = $mic->fetch_hash($r, 'RFC822') or BAIL_OUT "FETCH $@";