/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ // // Filename: qadelmsg.cpp // Original author: ppandit // Purpose: To accept handoff from whitebox UI via call to WhiteBox_DeleteMessage1(). // Proceed with deleting the sixth message in the Inbox. During the deletion, // trace statements will record parameter and debug information in // a file (ex. Test1.log). When the deletion is completed, a verification // procedure will confirm if that message is actually gone. Notifications // play a big part. We check for MSG_PaneNotifyMessageLoaded and // MSG_PaneNotifyMessageDeleted in thrdfrm.cpp. Code looks scattered // because we have to deal with the asychronous nature of Communicator. #include "stdafx.h" #include "stdlib.h" #include "msgcom.h" #include "wfemsg.h" #include "thrdfrm.h" #include "testcase.h" #include "resource.h" #include "qaoutput.h" #include "qa.h" #include "qatrace.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif // globals for this test case C3PaneMailFrame *qainbox; MessageKey qaSaveMessageKey = MSG_MESSAGEKEYNONE; MSG_Pane* qapane; CTestCaseManager *qatcmanager; void WhiteBox_DeleteMessage1(CTestCaseManager *tc) { // QA_TestCase.PhaseTwoIsFalse(); bDoWhiteBox = TRUE; bWaitForInbox = TRUE; QATestCaseStarted = FALSE; QATestCaseDone = FALSE; qatcmanager = tc; qainbox = (C3PaneMailFrame*)WFE_MSGOpenInbox(TRUE); // make it so getNewMail = TRUE } void QADoDeleteMessageEventHandler() { if (bWaitForInbox == FALSE && bDoWhiteBox == TRUE) { // set flag to nolonger enter here QATestCaseStarted = TRUE; // do real work CMsgListFrame* qaMsgListFrame = qainbox; qaMsgListFrame->SelectItem(qainbox->GetPane(),5); qainbox->WhiteBox_OnSelect(); qapane = qainbox->GetPane(); MessageKey qaSaveMessageKey = MSG_MESSAGEKEYNONE; // should chose a better method than GetCurMessage() to get MessageKey. qaSaveMessageKey = qainbox->GetCurMessage(); // use the following instead of // qainbox->SendMessage(WM_COMMAND, ID_EDIT_DELETEMESSAGE, 0); qainbox->WhiteBox_OnDeleteMessage(); // unneeded code but kept here for future use // MSG_Master *pMaster = WFE_MSGGetMaster(); // MSG_Pane* qapane = qainbox->GetPane(); // qainbox->SendMessage(WM_COMMAND, ID_EDIT_DELETEMESSAGE, 0); } } void QADoDeleteMessageEventHandler2() { static count = 0; if (count > 0) return; MSG_ViewIndex qaTestMessageExists = MSG_VIEWINDEXNONE; qaTestMessageExists = MSG_GetMessageIndexForKey(qapane, qaSaveMessageKey, TRUE); if (qaTestMessageExists == MSG_VIEWINDEXNONE) { QA_TestCase.PhaseTwoIsTrue(); } else { QA_TestCase.PhaseTwoIsFalse(); } count += 1; // done with testcase // QA_TestCase.DoWrapup(); QATestCaseDone = TRUE; } void TrialTestCase2(CTestCaseManager *qatc) { AfxMessageBox("This test has not been developed"); }