test709 test710 test711 test712 \
\
test800 test801 test802 test803 test804 test805 test806 test807 test808 \
+test809 \
\
test850 test851 test852 test853 test854 test855 test856 test857 \
\
--- /dev/null
+<testcase>
+<info>
+<keywords>
+IMAP
+STATUS
+CUSTOMREQUEST
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+* STATUS 809 (MESSAGES 231 UIDNEXT 44292)\r
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+imap
+</server>
+ <name>
+IMAP STATUS (CUSTOMREQUEST)
+ </name>
+ <command>
+imap://%HOSTIP:%IMAPPORT -u user:secret -X 'STATUS 809 (UIDNEXT MESSAGES)'
+</command>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<protocol>
+A001 CAPABILITY\r
+A002 LOGIN user secret\r
+A003 STATUS 809 (UIDNEXT MESSAGES)\r
+A004 LOGOUT\r
+</protocol>
+</verify>
+</testcase>
'LIST' => \&LIST_imap,
'LOGOUT' => \&LOGOUT_imap,
'SELECT' => \&SELECT_imap,
+ 'STATUS' => \&STATUS_imap,
'STORE' => \&STORE_imap
);
%displaytext = (
return 0;
}
+sub STATUS_imap {
+ my ($testno) = @_;
+ fix_imap_params($testno);
+
+ logmsg "STATUS_imap got test $testno\n";
+
+ $testno =~ s/^([^0-9]*)//;
+ my $testpart = "";
+ if ($testno > 10000) {
+ $testpart = $testno % 10000;
+ $testno = int($testno / 10000);
+ }
+
+ loadtest("$srcdir/data/test$testno");
+
+ @data = getpart("reply", "data$testpart");
+
+ for my $d (@data) {
+ sendcontrol $d;
+ }
+
+ sendcontrol "$cmdid OK STATUS completed\r\n";
+
+ return 0;
+}
+
sub LOGOUT_imap {
sendcontrol "* BYE cURL IMAP server signing off\r\n";
sendcontrol "$cmdid OK LOGOUT completed\r\n";