From 43fbce0f3d535aadfcd8926722f0d2b6f124d0fc Mon Sep 17 00:00:00 2001 From: John Goerzen Date: Tue, 12 Aug 2008 03:22:57 -0500 Subject: [PATCH 1/1] Added greeting test --- testsrc/TestParser.hs | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/testsrc/TestParser.hs b/testsrc/TestParser.hs index 86bb090..3e61eb5 100644 --- a/testsrc/TestParser.hs +++ b/testsrc/TestParser.hs @@ -90,10 +90,33 @@ prop_respTextAtomOpt codeatom codedesc text = p respText ("[" ++ codeatom ++ " " ++ codedesc ++ "] " ++ text) @?= Just (RespText (Just (codeatom ++ " " ++ codedesc)) text) +prop_greeting_bye :: String -> Property +prop_greeting_bye s = + isValidAtom s && head s /= '[' ==> + p greeting ("* BYE " ++ s) @?= + (Just $ Left $ RespText Nothing s) + +prop_greeting_auth :: String -> Property +prop_greeting_auth s = + isValidAtom s && head s /= '[' ==> + p' greeting ("* OK " ++ s) @?= + (Right $ Right $ (AUTHOK, RespText Nothing s)) + +prop_greeting_courier :: Result +prop_greeting_courier = + p greeting courierStr @?= + (Just $ Right $ (AUTHOK, RespText (Just code) text)) + where courierStr = "* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. See COPYING for distribution information." + code = "CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION" + text = "Courier-IMAP ready. See COPYING for distribution information." + allt = [q "getFullLine_basic" prop_getFullLine_basic, q "getFullLine_count" prop_getFullLine_count, q "readFullResponse_basic" prop_rfr_basic, q "respText simple" prop_respTextSimple, q "respText atom" prop_respTextAtom, - q "respTextAtomOpt" prop_respTextAtomOpt + q "respTextAtomOpt" prop_respTextAtomOpt, + q "greeting_bye" prop_greeting_bye, + q "greeting_auth" prop_greeting_auth, + q "greeting_courier" prop_greeting_courier ] -- 2.39.2