diff --git a/mozilla/embedding/qa/testembed/Tests.cpp b/mozilla/embedding/qa/testembed/Tests.cpp index bc82d6eff0a..c71551b0830 100644 --- a/mozilla/embedding/qa/testembed/Tests.cpp +++ b/mozilla/embedding/qa/testembed/Tests.cpp @@ -52,6 +52,8 @@ #include "ProfileMgr.h" #include "ProfilesDlg.h" #include "Tests.h" +#include "nsihistory.h" +#include "nsiwebnav.h" #include "nsirequest.h" #include "nsidirserv.h" #include "domwindow.h" @@ -94,12 +96,15 @@ BEGIN_MESSAGE_MAP(CTests, CWnd) ON_COMMAND(ID_CLIPBOARDCMD_CANCOPYSELECTION, canCopySelectionTest) ON_COMMAND(ID_CLIPBOARDCMD_CANCUTSELECTION, canCutSelectionTest) ON_COMMAND(ID_CLIPBOARDCMD_CANPASTE, canPasteTest) - ON_COMMAND(ID_INTERFACES_NSIREQUEST, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_CANCEL, OnInterfacesNsirequest) ON_COMMAND(ID_INTERFACES_NSIDOMWINDOW_RUNALLTESTS, OnInterfacesNsidomwindow) ON_COMMAND(ID_INTERFACES_NSIDIRECTORYSERVICE_INIT, OnInterfacesNsidirectoryservice) ON_COMMAND(ID_INTERFACES_NSISELECTION_RUNALLTESTS, OnInterfacesNsiselection) ON_COMMAND(ID_VERIFYBUGS_90195, OnVerifybugs90195) ON_COMMAND(ID_INTERFACES_NSIPROFILE_RUNALLTESTS, OnInterfacesNsiprofile) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_GETCOUNT, OnInterfacesNsishistory) + ON_COMMAND(ID_TESTS_REMOVEHISTORYLISTENER, OnTestsRemovehistorylistener) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GETCANGOBACK, OnInterfacesNsiwebnav) ON_COMMAND(ID_INTERFACES_NSIDIRECTORYSERVICE_REGISTERPROVIDER, OnInterfacesNsidirectoryservice) ON_COMMAND(ID_INTERFACES_NSIDIRECTORYSERVICE_RUNALLTESTS, OnInterfacesNsidirectoryservice) ON_COMMAND(ID_INTERFACES_NSIDIRECTORYSERVICE_UNREGISTERPROVIDER, OnInterfacesNsidirectoryservice) @@ -145,6 +150,39 @@ BEGIN_MESSAGE_MAP(CTests, CWnd) ON_COMMAND(ID_INTERFACES_NSIPROFILE_RENAMEPROFILE, OnInterfacesNsiprofile) ON_COMMAND(ID_INTERFACES_NSIPROFILE_SETCURRENTPROFILE, OnInterfacesNsiprofile) ON_COMMAND(ID_INTERFACES_NSIPROFILE_SHUTDOWNCURRENTPROFILE, OnInterfacesNsiprofile) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_GETENTRYATINDEX, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_GETINDEX, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_GETMAXLENGTH, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_GETSHISTORYENUMERATOR, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_PURGEHISTORY, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_RUNALLTESTS, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_SETMAXLENGTH, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETISSUBFRAME, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETTITLE, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETURI, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_RUNALLTESTS, OnInterfacesNsishistory) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GETCANGOFORWARD, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GETCURRENTURI, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GETDOCUMENT, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GETSESSIONHISTORY, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GOBACK, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GOFORWARD, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_GOTOINDEX, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_LOADURI, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_RELOAD, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_RUNALLTESTS, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_SETSESSIONHISTORY, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIWEBNAV_STOP, OnInterfacesNsiwebnav) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_GETLOADFLAGS, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_GETLOADGROUP, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_GETNAME, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_GETSTATUS, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_ISPENDING, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_RESUME, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_SETLOADFLAGS, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_SETLOADGROUP, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_SUSPEND, OnInterfacesNsirequest) + ON_COMMAND(ID_INTERFACES_NSIREQUEST_RUNALLTESTS, OnInterfacesNsirequest) //}}AFX_MSG_MAP END_MESSAGE_MAP() @@ -159,12 +197,6 @@ CTests::CTests(nsIWebBrowser* mWebBrowser, qaWebNav = mWebNav; qaBrowserImpl = mpBrowserImpl; - - // Create Individual Interface Objects -// nsirequest = new CNsIRequest(mWebBrowser, mpBrowserImpl); - nsihistory = new CNsIHistory(this); - nsiwebnav = new CNsIWebNav(this); - } CTests::~CTests() @@ -375,6 +407,15 @@ void CTests::OnTestsAddHistoryListener() RvTestResult(rv, "AddWebBrowserListener(). Add History Lstnr test", 2); } +void CTests::OnTestsRemovehistorylistener() +{ + // addSHistoryListener test + nsWeakPtr weakling( + dont_AddRef(NS_GetWeakReference(NS_STATIC_CAST(nsISHistoryListener*, qaBrowserImpl)))); + rv = qaWebBrowser->RemoveWebBrowserListener(weakling, NS_GET_IID(nsISHistoryListener)); + RvTestResult(rv, "RemoveWebBrowserListener(). Remove History Lstnr test", 2); +} + // ********************************************************* // ********************************************************* // TOOLS to help us @@ -763,18 +804,13 @@ BOOL CTests::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHa // menu handlers nCommandID = nID ; - if ((nsihistory != NULL) && nsihistory->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) - return TRUE; - if ((nsiwebnav != NULL) && nsiwebnav->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)) - return TRUE; - return CWnd::OnCmdMsg(nID, nCode, pExtra, pHandlerInfo); } void CTests::OnInterfacesNsirequest() { CNsIRequest oNsIRequest(qaWebBrowser,/*qaBaseWindow,qaWebNav,*/ qaBrowserImpl); - oNsIRequest.OnInterfacesNsirequest(); + oNsIRequest.OnStartTests(nCommandID); } void CTests::OnInterfacesNsidirectoryservice() @@ -814,3 +850,17 @@ void CTests::OnInterfacesNsiprofile() CProfile oProfile(qaWebBrowser); oProfile.OnStartTests(nCommandID); } + +void CTests::OnInterfacesNsishistory() +{ + CNsIHistory oHistory(qaWebNav); + oHistory.OnStartTests(nCommandID); +} + + +void CTests::OnInterfacesNsiwebnav() +{ + CNsIWebNav oWebNav(qaWebNav); + oWebNav.OnStartTests(nCommandID); +} + diff --git a/mozilla/embedding/qa/testembed/Tests.h b/mozilla/embedding/qa/testembed/Tests.h index 2f2534a5de2..e0aa68d340b 100644 --- a/mozilla/embedding/qa/testembed/Tests.h +++ b/mozilla/embedding/qa/testembed/Tests.h @@ -51,9 +51,6 @@ #include "BrowserView.h" #include "BrowserImpl.h" #include "StdAfx.h" -//#include "nsirequest.h" -#include "nsihistory.h" -#include "nsiwebnav.h" ///////////////////////////////////////////////////////////////////////////// @@ -104,9 +101,6 @@ public: private: // Individual interface Objects -// CNsIRequest *nsirequest ; - CNsIHistory *nsihistory ; - CNsIWebNav *nsiwebnav ; // Generated message map functions protected: @@ -144,6 +138,9 @@ protected: afx_msg void OnInterfacesNsiselection(); afx_msg void OnVerifybugs90195(); afx_msg void OnInterfacesNsiprofile(); + afx_msg void OnInterfacesNsishistory(); + afx_msg void OnTestsRemovehistorylistener(); + afx_msg void OnInterfacesNsiwebnav(); //}}AFX_MSG DECLARE_MESSAGE_MAP() diff --git a/mozilla/embedding/qa/testembed/nsIWebNav.cpp b/mozilla/embedding/qa/testembed/nsIWebNav.cpp index fbcdf3ee323..6db5d786508 100644 --- a/mozilla/embedding/qa/testembed/nsIWebNav.cpp +++ b/mozilla/embedding/qa/testembed/nsIWebNav.cpp @@ -46,8 +46,8 @@ #include "stdafx.h" #include "testembed.h" -#include "Tests.h" #include "qautils.h" +#include "nsiwebnav.h" #ifdef _DEBUG #define new DEBUG_NEW @@ -58,10 +58,9 @@ static char THIS_FILE[] = __FILE__; ///////////////////////////////////////////////////////////////////////////// // CNsIWebNav -CNsIWebNav::CNsIWebNav(CTests *mTests) +CNsIWebNav::CNsIWebNav(nsIWebNavigation *mWebNav) { - // Assign Local pointer to the CTest Object - qaTests = mTests ; + qaWebNav = mWebNav ; } CNsIWebNav::~CNsIWebNav() @@ -69,13 +68,6 @@ CNsIWebNav::~CNsIWebNav() } -BEGIN_MESSAGE_MAP(CNsIWebNav, CWnd) - //{{AFX_MSG_MAP(CNsIWebNav) - ON_COMMAND(ID_INTERFACES_NSIWEBNAV, OnInterfacesNsiwebnav) - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - - ///////////////////////////////////////////////////////////////////////////// // CNsIWebNav message handlers // *********************************************************************** @@ -92,11 +84,94 @@ NavElement UrlTable[] = { }; -void CNsIWebNav::OnInterfacesNsiwebnav() + +void CNsIWebNav::OnStartTests(UINT nMenuID) +{ + + switch(nMenuID) + { + case ID_INTERFACES_NSIWEBNAV_RUNALLTESTS : + RunAllTests(); + break ; + case ID_INTERFACES_NSIWEBNAV_GETCANGOBACK : + CanGoBackTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GETCANGOFORWARD : + CanGoForwardTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GOBACK : + GoBackTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GOFORWARD : + GoForwardTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GOTOINDEX : + GoToIndexTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_LOADURI : + LoadUriandReload(); + break ; + case ID_INTERFACES_NSIWEBNAV_RELOAD : + LoadUriandReload(); + break ; + case ID_INTERFACES_NSIWEBNAV_STOP : + StopUriTest("http://www.microsoft.com/"); + break ; + case ID_INTERFACES_NSIWEBNAV_GETDOCUMENT : + GetDocumentTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GETCURRENTURI : + GetCurrentURITest(); + break ; + case ID_INTERFACES_NSIWEBNAV_GETSESSIONHISTORY : + GetSHTest(); + break ; + case ID_INTERFACES_NSIWEBNAV_SETSESSIONHISTORY : + break ; + } + +} + +void CNsIWebNav::LoadUriandReload() +{ + int i=0; + // LoadURI() & reload tests + + QAOutput("Run a few LoadURI() tests.", 2); + + for (i=0; i < 5; i++) + { + LoadUriTest(UrlTable[i].theUri, UrlTable[i].theFlag); + switch (i) + { + case 0: + ReloadTest(nsIWebNavigation::LOAD_FLAGS_NONE); + break; + case 1: + ReloadTest(nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE); + break; + case 2: + ReloadTest(nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY); + break; + // simulate shift-reload + case 3: + ReloadTest(nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | + nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY); + break; + case 4: + ReloadTest(nsIWebNavigation::LOAD_FLAGS_CHARSET_CHANGE); + break; + } + } + +} + + +void CNsIWebNav::RunAllTests() { int i=0; - if (qaTests->qaWebNav) + if ( qaWebNav) QAOutput("We have the web nav object.", 2); else { QAOutput("We don't have the web nav object. No tests performed.", 2); @@ -162,34 +237,35 @@ void CNsIWebNav::OnInterfacesNsiwebnav() GetSHTest(); } + // *********************************************************************** // Individual nsIWebNavigation tests void CNsIWebNav::CanGoBackTest() { PRBool canGoBack = PR_FALSE; - rv = qaTests->qaWebNav->GetCanGoBack(&canGoBack); + rv = qaWebNav->GetCanGoBack(&canGoBack); RvTestResult(rv, "GetCanGoBack() attribute test", 2); FormatAndPrintOutput("canGoBack value = ", canGoBack, 2); } void CNsIWebNav::GoBackTest() { - rv = qaTests->qaWebNav->GoBack(); + rv = qaWebNav->GoBack(); RvTestResult(rv, "GoBack() test", 2); } void CNsIWebNav::CanGoForwardTest() { PRBool canGoForward = PR_FALSE; - rv = qaTests->qaWebNav->GetCanGoForward(&canGoForward); + rv = qaWebNav->GetCanGoForward(&canGoForward); RvTestResult(rv, "GetCanGoForward() attribute test", 2); FormatAndPrintOutput("canGoForward value = ", canGoForward, 2); } void CNsIWebNav::GoForwardTest() { - rv = qaTests->qaWebNav->GoForward(); + rv = qaWebNav->GoForward(); RvTestResult(rv, "GoForward() test", 2); } @@ -197,14 +273,14 @@ void CNsIWebNav::GoToIndexTest() { PRInt32 theIndex = 0; - rv = qaTests->qaWebNav->GotoIndex(theIndex); + rv = qaWebNav->GotoIndex(theIndex); RvTestResult(rv, "GotoIndex() test", 2); } void CNsIWebNav::LoadUriTest(char *theUrl, const unsigned long theFlag) { char theTotalString[500]; - char theFlagName[100]; + char theFlagName[200]; switch(theFlag) { @@ -237,7 +313,7 @@ void CNsIWebNav::LoadUriTest(char *theUrl, const unsigned long theFlag) break; } - rv = qaTests->qaWebNav->LoadURI(NS_ConvertASCIItoUCS2(theUrl).get(), + rv = qaWebNav->LoadURI(NS_ConvertASCIItoUCS2(theUrl).get(), theFlag); sprintf(theTotalString, "%s%s%s%s%s", "LoadURI(): ", theUrl, " w/ ", theFlagName, " test"); RvTestResult(rv, theTotalString, 2); @@ -246,7 +322,7 @@ void CNsIWebNav::LoadUriTest(char *theUrl, const unsigned long theFlag) void CNsIWebNav::ReloadTest(const unsigned long theFlag) { char theTotalString[500]; - char theFlagName[100]; + char theFlagName[200]; switch(theFlag) { @@ -278,13 +354,13 @@ void CNsIWebNav::ReloadTest(const unsigned long theFlag) strcpy(theFlagName, "LOAD_FLAGS_CHARSET_CHANGE"); break; case nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | \ - nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY: \ - strcpy(theFlagName, "nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | \ - nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY"); + nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY: + strcpy(theFlagName, "nsIWebNavigation::LOAD_FLAGS_BYPASS_CACHE | " + "nsIWebNavigation::LOAD_FLAGS_BYPASS_PROXY"); break; } - rv = qaTests->qaWebNav->Reload(theFlag); + rv = qaWebNav->Reload(theFlag); sprintf(theTotalString, "%s%s%s%s", "Reload(): ", " w/ ", theFlagName, " test"); RvTestResult(rv, theTotalString, 2); } @@ -293,9 +369,9 @@ void CNsIWebNav::StopUriTest(char *theUrl) { char theTotalString[200]; - qaTests->qaWebNav->LoadURI(NS_ConvertASCIItoUCS2(theUrl).get(), + qaWebNav->LoadURI(NS_ConvertASCIItoUCS2(theUrl).get(), nsIWebNavigation::LOAD_FLAGS_NONE); - rv = qaTests->qaWebNav->Stop(nsIWebNavigation::STOP_ALL); + rv = qaWebNav->Stop(nsIWebNavigation::STOP_ALL); sprintf(theTotalString, "%s%s%s", "Stop(): ", theUrl, " test"); RvTestResult(rv, theTotalString, 2); } @@ -305,7 +381,7 @@ void CNsIWebNav::GetDocumentTest() nsCOMPtr theDocument; nsCOMPtr theDocType; - rv = qaTests->qaWebNav->GetDocument(getter_AddRefs(theDocument)); + rv = qaWebNav->GetDocument(getter_AddRefs(theDocument)); if (!theDocument) { QAOutput("We didn't get the document. Test failed.", 2); return; @@ -321,7 +397,7 @@ void CNsIWebNav::GetCurrentURITest() { nsCOMPtr theUri; - rv = qaTests->qaWebNav->GetCurrentURI(getter_AddRefs(theUri)); + rv = qaWebNav->GetCurrentURI(getter_AddRefs(theUri)); if (!theUri) { QAOutput("We didn't get the URI. Test failed.", 2); return; @@ -341,7 +417,7 @@ void CNsIWebNav::GetSHTest() PRInt32 numOfElements; nsCOMPtr theSessionHistory; - rv = qaTests->qaWebNav->GetSessionHistory(getter_AddRefs(theSessionHistory)); + rv = qaWebNav->GetSessionHistory(getter_AddRefs(theSessionHistory)); if (!theSessionHistory) { QAOutput("We didn't get the session history. Test failed.", 2); return; diff --git a/mozilla/embedding/qa/testembed/nsIWebNav.h b/mozilla/embedding/qa/testembed/nsIWebNav.h index beeb990fccb..04f43dca5a5 100644 --- a/mozilla/embedding/qa/testembed/nsIWebNav.h +++ b/mozilla/embedding/qa/testembed/nsIWebNav.h @@ -54,16 +54,15 @@ ///////////////////////////////////////////////////////////////////////////// // CNsIWebNav window -class CNsIWebNav : public CWnd +class CNsIWebNav { // Construction public: - CNsIWebNav(CTests *mTests); + CNsIWebNav(nsIWebNavigation *mWebNav); // Attributes public: - CTests *qaTests ; - + nsCOMPtr qaWebNav; // Operations public: @@ -79,11 +78,10 @@ public: void GetDocumentTest(void); void GetCurrentURITest(void); void GetSHTest(void); + void LoadUriandReload(); + void OnStartTests(UINT nMenuID); + void RunAllTests(); -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CNsIWebNav) - //}}AFX_VIRTUAL // Implementation public: @@ -91,10 +89,6 @@ public: // Generated message map functions protected: - //{{AFX_MSG(CNsIWebNav) - afx_msg void OnInterfacesNsiwebnav(); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() }; typedef struct { diff --git a/mozilla/embedding/qa/testembed/nsiHistory.cpp b/mozilla/embedding/qa/testembed/nsiHistory.cpp index c500ceef399..4787622b45b 100644 --- a/mozilla/embedding/qa/testembed/nsiHistory.cpp +++ b/mozilla/embedding/qa/testembed/nsiHistory.cpp @@ -50,17 +50,17 @@ #include "ProfileMgr.h" #include "ProfilesDlg.h" #include "QaUtils.h" -#include "tests.h" +#include "nsihistory.h" #include ///////////////////////////////////////////////////////////////////////////// // CNsIHistory -CNsIHistory::CNsIHistory(CTests *mTests) +CNsIHistory::CNsIHistory(nsIWebNavigation *mWebNav) { - qaTests = mTests; - //qaWebNav = mWebNav ; + //qaTests = mTests; + qaWebNav = mWebNav ; } @@ -69,12 +69,6 @@ CNsIHistory::~CNsIHistory() } -BEGIN_MESSAGE_MAP(CNsIHistory, CWnd) - //{{AFX_MSG_MAP(CNsIHistory) - ON_COMMAND(ID_INTERFACES_NSISHISTORY, OnInterfacesNsishistory) - //}}AFX_MSG_MAP -END_MESSAGE_MAP() - ///////////////////////////////////////////////////////////////////////////// // CNsIHistory message handlers @@ -86,7 +80,90 @@ END_MESSAGE_MAP() // *********************************************************************** // nsISHistory & nsIHistoryEntry ifaces: -void CNsIHistory::OnInterfacesNsishistory() +void CNsIHistory::OnStartTests(UINT nMenuID) +{ + + // Calls all or indivdual test cases on the basis of the + // option selected from menu. + PRInt32 numEntries = 5; + PRInt32 theIndex; + PRInt32 theMaxLength = 1; + + CString shString; + + nsCOMPtr theSessionHistory; + nsCOMPtr theHistoryEntry; + nsCOMPtr theSimpleEnum; + + + //nsCOMPtr theUri; + // do_QueryInterface + // NS_HISTORYENTRY_CONTRACTID + // NS_SHISTORYLISTENER_CONTRACTID + + // get Session History through web nav iface + if (qaWebNav) + qaWebNav->GetSessionHistory( getter_AddRefs(theSessionHistory)); + + if (!theSessionHistory) + { + QAOutput("theSessionHistory object wasn't created. No session history tests performed.", 2); + return; + } + else + QAOutput("theSessionHistory object was created.", 2); + + theSessionHistory->GetEntryAtIndex(0, PR_FALSE, getter_AddRefs(theHistoryEntry)); + if (!theHistoryEntry) + QAOutput("We didn't get the History Entry object.", 1); + else + QAOutput("We have the History Entry object!", 1); + + + + switch(nMenuID) + { + case ID_INTERFACES_NSISHISTORY_RUNALLTESTS : + RunAllTests(); + break ; + case ID_INTERFACES_NSISHISTORY_GETCOUNT : + GetCountTest(theSessionHistory, &numEntries); + break ; + case ID_INTERFACES_NSISHISTORY_GETINDEX : + GetIndexTest(theSessionHistory, &theIndex); + break ; + case ID_INTERFACES_NSISHISTORY_GETMAXLENGTH : + GetMaxLengthTest(theSessionHistory, &theMaxLength); + break ; + case ID_INTERFACES_NSISHISTORY_SETMAXLENGTH : + SetMaxLengthTest(theSessionHistory, theMaxLength); + break ; + case ID_INTERFACES_NSISHISTORY_GETENTRYATINDEX : + //GetEntryAtIndex(0, PR_FALSE, getter_AddRefs(theHistoryEntry)); + break ; + case ID_INTERFACES_NSISHISTORY_PURGEHISTORY : + PurgeHistoryTest(theSessionHistory, numEntries); + break ; + case ID_INTERFACES_NSISHISTORY_GETSHISTORYENUMERATOR : + //GetSHistoryEnumerator(getter_AddRefs(theSimpleEnum)); + break ; + case ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_RUNALLTESTS : + RunAllHistoryEnrtyTests(); + break ; + case ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETURI : + GetURIHistTest(theHistoryEntry); + break ; + case ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETTITLE : + GetTitleHistTest(theHistoryEntry); + break ; + case ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETISSUBFRAME : + GetIsSubFrameTest(theHistoryEntry); + break ; + } + +} + +void CNsIHistory::RunAllTests() { //nsresult rv; @@ -105,8 +182,8 @@ void CNsIHistory::OnInterfacesNsishistory() // NS_SHISTORYLISTENER_CONTRACTID // get Session History through web nav iface - if (qaTests->qaWebNav) - qaTests->qaWebNav->GetSessionHistory( getter_AddRefs(theSessionHistory)); + if (qaWebNav) + qaWebNav->GetSessionHistory( getter_AddRefs(theSessionHistory)); if (!theSessionHistory) { @@ -250,13 +327,13 @@ void CNsIHistory::GetMaxLengthTest(nsISHistory *theSessionHistory, PRInt32 *theM void CNsIHistory::GetURIHistTest(nsIHistoryEntry* theHistoryEntry) { - rv = theHistoryEntry->GetURI(getter_AddRefs(qaTests->theUri)); - if (!qaTests->theUri) + rv = theHistoryEntry->GetURI(getter_AddRefs(theUri)); + if (!theUri) QAOutput("theUri for GetURI() invalid. Test failed.", 1); else { RvTestResult(rv, "GetURI() (URI attribute) test", 1); - rv = qaTests->theUri->GetSpec(&uriSpec); + rv = theUri->GetSpec(&uriSpec); if (NS_FAILED(rv)) QAOutput("We didn't get the uriSpec.", 1); else @@ -317,8 +394,8 @@ void CNsIHistory::SimpleEnumTest(nsISimpleEnumerator *theSimpleEnum) nextHistoryEntry = do_QueryInterface(nextObj); if (!nextHistoryEntry) continue; - rv = nextHistoryEntry->GetURI(getter_AddRefs(qaTests->theUri)); - rv = qaTests->theUri->GetSpec(&uriSpec); + rv = nextHistoryEntry->GetURI(getter_AddRefs(theUri)); + rv = theUri->GetSpec(&uriSpec); if (!uriSpec) QAOutput("uriSpec for GetSpec() invalid. Test failed.", 1); else @@ -332,3 +409,73 @@ void CNsIHistory::PurgeHistoryTest(nsISHistory* theSessionHistory, PRInt32 numEn RvTestResult(rv, "PurgeHistory() test", 2); FormatAndPrintOutput("Number of removed entries = ", numEntries, 2); } + +void CNsIHistory::RunAllHistoryEnrtyTests() +{ + PRInt32 numEntries = 5; + PRInt32 theIndex; + PRInt32 theMaxLength = 1; + + CString shString; + + nsCOMPtr theSessionHistory; + nsCOMPtr theHistoryEntry; + + //nsCOMPtr theUri; + // do_QueryInterface + // NS_HISTORYENTRY_CONTRACTID + // NS_SHISTORYLISTENER_CONTRACTID + + // get Session History through web nav iface + if (qaWebNav) + qaWebNav->GetSessionHistory( getter_AddRefs(theSessionHistory)); + + if (!theSessionHistory) + { + QAOutput("theSessionHistory object wasn't created. No session history tests performed.", 2); + return; + } + else + QAOutput("theSessionHistory object was created.", 2); + + theSessionHistory->GetEntryAtIndex(0, PR_FALSE, getter_AddRefs(theHistoryEntry)); + if (!theHistoryEntry) + QAOutput("We didn't get the History Entry object.", 1); + else + { + QAOutput("We have the History Entry object!", 1); + + // getEntryAtIndex() tests + if (theMaxLength < numEntries) + { + QAOutput("Setting number of entries to maximum length!", 1); + numEntries = theMaxLength; + } + + for (theIndex = 0; theIndex < numEntries; theIndex++) + { + FormatAndPrintOutput("the index = ", theIndex, 2); + + //GetEntryAtIndexTest(theSessionHistory,theHistoryEntry, theIndex); + + theSessionHistory->GetEntryAtIndex(theIndex, PR_FALSE, getter_AddRefs(theHistoryEntry)); + if (!theHistoryEntry) + { + QAOutput("We didn't get the History Entry object. No more tests performed.", 1); + return; + } + // nsiHistoryEntry.idl tests + + // test URI attribute in nsIHistoryEntry.idl + GetURIHistTest(theHistoryEntry); + + // test title attribute in nsIHistoryEntry.idl + GetTitleHistTest(theHistoryEntry); + + // test isSubFrame attribute in nsIHistoryEntry.idl + GetIsSubFrameTest(theHistoryEntry); + + } // end for loop + } // end outer else + +} diff --git a/mozilla/embedding/qa/testembed/nsiHistory.h b/mozilla/embedding/qa/testembed/nsiHistory.h index 96dc56467fb..9a646305ac4 100644 --- a/mozilla/embedding/qa/testembed/nsiHistory.h +++ b/mozilla/embedding/qa/testembed/nsiHistory.h @@ -47,29 +47,23 @@ ///////////////////////////////////////////////////////////////////////////// // CNsIHistory window -class CNsIHistory : public CWnd +class CNsIHistory { // Construction public: - CNsIHistory(CTests *mTests); + CNsIHistory(nsIWebNavigation *mWebNav); // Attributes public: // Mozilla interfaces // - //nsCOMPtr qaWebNav; - //nsCOMPtr theUri; + nsCOMPtr qaWebNav; + nsCOMPtr theUri; char *uriSpec; - CTests *qaTests ; + //CTests *qaTests ; -// Operations public: -// Overrides - // ClassWizard generated virtual function overrides - //{{AFX_VIRTUAL(CNsIHistory) - //}}AFX_VIRTUAL - // Implementation public: virtual ~CNsIHistory(); @@ -88,14 +82,12 @@ public: void GetSHEnumTest(nsISHistory*, nsISimpleEnumerator *); void SimpleEnumTest(nsISimpleEnumerator *); void PurgeHistoryTest(nsISHistory *, PRInt32); - - + void RunAllTests(); + void OnStartTests(UINT nMenuID); + void RunAllHistoryEnrtyTests(); // Generated message map functions protected: - //{{AFX_MSG(CNsIHistory) - afx_msg void OnInterfacesNsishistory(); - //}}AFX_MSG - DECLARE_MESSAGE_MAP() + }; diff --git a/mozilla/embedding/qa/testembed/nsirequest.cpp b/mozilla/embedding/qa/testembed/nsirequest.cpp index 4e14f7d18a5..220002dbaa2 100644 --- a/mozilla/embedding/qa/testembed/nsirequest.cpp +++ b/mozilla/embedding/qa/testembed/nsirequest.cpp @@ -57,14 +57,6 @@ ///////////////////////////////////////////////////////////////////////////// // CNsIRequest -/*CNsIRequest::CNsIRequest(nsIWebBrowser* mWebBrowser, - nsIBaseWindow* mBaseWindow, - nsIWebNavigation* mWebNav, - CBrowserImpl *mpBrowserImpl):CTests(mWebBrowser,mBaseWindow,mWebNav,mpBrowserImpl) -{ - -}*/ - CNsIRequest::CNsIRequest(nsIWebBrowser* mWebBrowser,CBrowserImpl *mpBrowserImpl) { @@ -78,11 +70,6 @@ CNsIRequest::~CNsIRequest() } -/*BEGIN_MESSAGE_MAP(CNsIRequest, CTests) - //{{AFX_MSG_MAP(CNsIRequest) - //}}AFX_MSG_MAP -END_MESSAGE_MAP()*/ - ///////////////////////////////////////////////////////////////////////////// // CNsIRequest message handlers @@ -102,7 +89,106 @@ Element UrlTable_Temp[] = { {"http://www.aol.com", 0, 1, 0, 0, 0, 1, 1} }; -void CNsIRequest::OnInterfacesNsirequest() +void CNsIRequest::OnStartTests(UINT nMenuID) +{ + if (nMenuID == ID_INTERFACES_NSIREQUEST_RUNALLTESTS) + RunAllTests(); + else + RunIndividualTests(nMenuID) ; +} + +void CNsIRequest::RunIndividualTests(UINT nMenuID) +{ + nsCString theSpec; + nsCOMPtr theURI; + nsCOMPtr theChannel; + nsCOMPtr theLoadGroup(do_CreateInstance(NS_LOADGROUP_CONTRACTID)); + + int i=0; + + QAOutput("Start nsIRequest tests.", 2); + +// theSpec = "http://www.netscape.com"; + for (i=0; i<6; i++) + { + theSpec = UrlTable_Temp[i].theUrl; + FormatAndPrintOutput("the uri spec = ", theSpec, 2); + + rv = NS_NewURI(getter_AddRefs(theURI), theSpec); + if (!theURI) + { + QAOutput("We didn't get the URI. Test failed.", 1); + return; + } + else + RvTestResult(rv, "NS_NewURI", 1); + + rv = NS_OpenURI(getter_AddRefs(theChannel), theURI, nsnull, theLoadGroup); + if (!theChannel) + { + QAOutput("We didn't get the Channel. Test failed.", 1); + return; + } + else if (!theLoadGroup) + { + QAOutput("We didn't get the Load Group. Test failed.", 2); + return; + } + else + RvTestResult(rv, "NS_OpenURI", 1); + + nsCOMPtr listener(NS_STATIC_CAST(nsIStreamListener*, qaBrowserImpl)); + nsCOMPtr thisListener(dont_AddRef(NS_GetWeakReference(listener))); + qaWebBrowser->AddWebBrowserListener(thisListener, NS_GET_IID(nsIStreamListener)); + + // this calls nsIStreamListener::OnDataAvailable() + rv = theChannel->AsyncOpen(listener, nsnull); + RvTestResult(rv, "AsyncOpen()", 1); + + // nsIRequest individual tests + + QAOutput("***** Individual nsIRequest test begins. *****"); + + nsCOMPtr theRequest = do_QueryInterface(theChannel); + + switch(nMenuID) + { + + case ID_INTERFACES_NSIREQUEST_GETNAME : + break; + case ID_INTERFACES_NSIREQUEST_ISPENDING : + IsPendingReqTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_GETSTATUS : + GetStatusReqTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_CANCEL : + CancelReqTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_SUSPEND : + SuspendReqTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_RESUME : + ResumeReqTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_GETLOADGROUP : + GetLoadGroupTest(theRequest); + break; + case ID_INTERFACES_NSIREQUEST_SETLOADGROUP : + SetLoadGroupTest(theRequest, theLoadGroup); + break; + case ID_INTERFACES_NSIREQUEST_GETLOADFLAGS : + break; + case ID_INTERFACES_NSIREQUEST_SETLOADFLAGS : + break; + } + + } // end for loop + QAOutput("End nsIRequest tests.", 2); +} + + +void CNsIRequest::RunAllTests() { // note: nsIRequest tests are called: // 1) in BrowserImpl.cpp, nsIStreamListener::OnDataAvailable() diff --git a/mozilla/embedding/qa/testembed/nsirequest.h b/mozilla/embedding/qa/testembed/nsirequest.h index 1974ccde51d..c1e24e80242 100644 --- a/mozilla/embedding/qa/testembed/nsirequest.h +++ b/mozilla/embedding/qa/testembed/nsirequest.h @@ -88,7 +88,9 @@ public: void static CancelReqTest(nsIRequest *); void static SetLoadGroupTest(nsIRequest *, nsILoadGroup *); void static GetLoadGroupTest(nsIRequest *); - + void OnStartTests(UINT nMenuID); + void RunAllTests(); + void RunIndividualTests(UINT nMenuID); // Generated message map functions protected: /* //{{AFX_MSG(CNsIRequest) diff --git a/mozilla/embedding/qa/testembed/resource.h b/mozilla/embedding/qa/testembed/resource.h index e57ea38e913..285276c338a 100644 --- a/mozilla/embedding/qa/testembed/resource.h +++ b/mozilla/embedding/qa/testembed/resource.h @@ -137,6 +137,43 @@ #define ID_INTERFACES_NSIPROFILE_DELETEPROFILE 32866 #define ID_INTERFACES_NSIPROFILE_CLONEPROFILE 32867 #define ID_INTERFACES_NSIPROFILE_SHUTDOWNCURRENTPROFILE 32868 +#define ID_INTERFACES_NSISHISTORY_GETCOUNT 32870 +#define ID_INTERFACES_NSISHISTORY_GETINDEX 32871 +#define ID_INTERFACES_NSISHISTORY_GETMAXLENGTH 32872 +#define ID_INTERFACES_NSISHISTORY_SETMAXLENGTH 32873 +#define ID_INTERFACES_NSISHISTORY_GETENTRYATINDEX 32874 +#define ID_INTERFACES_NSISHISTORY_PURGEHISTORY 32875 +#define ID_INTERFACES_NSISHISTORY_GETSHISTORYENUMERATOR 32878 +#define ID_INTERFACES_NSISHISTORY_RUNALLTESTS 32879 +#define ID_TESTS_REMOVEHISTORYLISTENER 32880 +#define ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_RUNALLTESTS 32881 +#define ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETURI 32882 +#define ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETTITLE 32883 +#define ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETISSUBFRAME 32884 +#define ID_INTERFACES_NSIREQUEST_GETNAME 32885 +#define ID_INTERFACES_NSIREQUEST_ISPENDING 32886 +#define ID_INTERFACES_NSIREQUEST_GETSTATUS 32887 +#define ID_INTERFACES_NSIREQUEST_CANCEL 32888 +#define ID_INTERFACES_NSIREQUEST_SUSPEND 32889 +#define ID_INTERFACES_NSIREQUEST_RESUME 32890 +#define ID_INTERFACES_NSIREQUEST_GETLOADGROUP 32891 +#define ID_INTERFACES_NSIREQUEST_SETLOADGROUP 32892 +#define ID_INTERFACES_NSIREQUEST_GETLOADFLAGS 32893 +#define ID_INTERFACES_NSIREQUEST_SETLOADFLAGS 32894 +#define ID_INTERFACES_NSIWEBNAV_GETCANGOBACK 32895 +#define ID_INTERFACES_NSIWEBNAV_GETCANGOFORWARD 32896 +#define ID_INTERFACES_NSIWEBNAV_GOBACK 32897 +#define ID_INTERFACES_NSIWEBNAV_GOFORWARD 32898 +#define ID_INTERFACES_NSIWEBNAV_GOTOINDEX 32899 +#define ID_INTERFACES_NSIWEBNAV_LOADURI 32900 +#define ID_INTERFACES_NSIWEBNAV_RELOAD 32901 +#define ID_INTERFACES_NSIWEBNAV_STOP 32902 +#define ID_INTERFACES_NSIWEBNAV_GETDOCUMENT 32903 +#define ID_INTERFACES_NSIWEBNAV_GETCURRENTURI 32904 +#define ID_INTERFACES_NSIWEBNAV_GETSESSIONHISTORY 32905 +#define ID_INTERFACES_NSIWEBNAV_SETSESSIONHISTORY 32906 +#define ID_INTERFACES_NSIWEBNAV_RUNALLTESTS 32907 +#define ID_INTERFACES_NSIREQUEST_RUNALLTESTS 32908 #define ID_CLIPBOARDCMD_PASTE 42789 #define ID_CLIPBOARDCMD_COPYSELECTION 42790 #define ID_CLIPBOARDCMD_SELECTALL 42791 @@ -153,7 +190,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 146 -#define _APS_NEXT_COMMAND_VALUE 32869 +#define _APS_NEXT_COMMAND_VALUE 32909 #define _APS_NEXT_CONTROL_VALUE 1025 #define _APS_NEXT_SYMED_VALUE 101 #endif diff --git a/mozilla/embedding/qa/testembed/testembed.aps b/mozilla/embedding/qa/testembed/testembed.aps index f5e0fc1aaa4..58b087533f2 100644 Binary files a/mozilla/embedding/qa/testembed/testembed.aps and b/mozilla/embedding/qa/testembed/testembed.aps differ diff --git a/mozilla/embedding/qa/testembed/testembed.rc b/mozilla/embedding/qa/testembed/testembed.rc index f1506dc002a..beca7e8ca5e 100644 --- a/mozilla/embedding/qa/testembed/testembed.rc +++ b/mozilla/embedding/qa/testembed/testembed.rc @@ -152,14 +152,105 @@ BEGIN MENUITEM "Create &File", ID_TESTS_CREATEFILE MENUITEM "Create/Switch &Profile", ID_TESTS_CREATEPROFILE MENUITEM "&Add Web Prog Listener", ID_TESTS_ADDWEBPROGLISTENER + MENUITEM SEPARATOR MENUITEM "Add History &Listener", ID_TESTS_ADDHISTORYLISTENER + MENUITEM "Remove History Listener", ID_TESTS_REMOVEHISTORYLISTENER + END POPUP "&Interfaces" BEGIN MENUITEM "nsI&File", ID_INTERFACES_NSIFILE - MENUITEM "nsI&SHistory", ID_INTERFACES_NSISHISTORY - MENUITEM "nsI&WebNav", ID_INTERFACES_NSIWEBNAV - MENUITEM "nsI&Request", ID_INTERFACES_NSIREQUEST + POPUP "nsI&SHistory" + BEGIN + MENUITEM "Run All Tests", ID_INTERFACES_NSISHISTORY_RUNALLTESTS + + MENUITEM SEPARATOR + MENUITEM "GetCount", ID_INTERFACES_NSISHISTORY_GETCOUNT + + MENUITEM "GetIndex", ID_INTERFACES_NSISHISTORY_GETINDEX + + MENUITEM "GetMaxLength", ID_INTERFACES_NSISHISTORY_GETMAXLENGTH + + MENUITEM "SetMaxLength", ID_INTERFACES_NSISHISTORY_SETMAXLENGTH + + MENUITEM SEPARATOR + MENUITEM "GetEntryAtIndex", ID_INTERFACES_NSISHISTORY_GETENTRYATINDEX + + MENUITEM "PurgeHistory", ID_INTERFACES_NSISHISTORY_PURGEHISTORY + + MENUITEM SEPARATOR + MENUITEM "GetSHistoryEnumerator", ID_INTERFACES_NSISHISTORY_GETSHISTORYENUMERATOR + + MENUITEM SEPARATOR + POPUP "nsIHistoryEntry" + BEGIN + MENUITEM "Run All Tests", ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_RUNALLTESTS + + MENUITEM SEPARATOR + MENUITEM "GetURI", ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETURI + + MENUITEM "GetTitle", ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETTITLE + + MENUITEM "GetIsSubFrame", ID_INTERFACES_NSISHISTORY_NSIHISTORYENTRY_GETISSUBFRAME + + END + END + POPUP "nsI&WebNav" + BEGIN + MENUITEM "RunAllTests", ID_INTERFACES_NSIWEBNAV_RUNALLTESTS + + MENUITEM SEPARATOR + MENUITEM "GetCanGoBack", ID_INTERFACES_NSIWEBNAV_GETCANGOBACK + + MENUITEM "GetCanGoForward", ID_INTERFACES_NSIWEBNAV_GETCANGOFORWARD + + MENUITEM "GoBack", ID_INTERFACES_NSIWEBNAV_GOBACK + + MENUITEM "GoForward", ID_INTERFACES_NSIWEBNAV_GOFORWARD + + MENUITEM "GoToIndex", ID_INTERFACES_NSIWEBNAV_GOTOINDEX + + MENUITEM "LoadURI", ID_INTERFACES_NSIWEBNAV_LOADURI + + MENUITEM "Reload", ID_INTERFACES_NSIWEBNAV_RELOAD + + MENUITEM "Stop", ID_INTERFACES_NSIWEBNAV_STOP + + MENUITEM "GetDocument", ID_INTERFACES_NSIWEBNAV_GETDOCUMENT + + MENUITEM "GetCurrentURI", ID_INTERFACES_NSIWEBNAV_GETCURRENTURI + + MENUITEM "GetSessionHistory", ID_INTERFACES_NSIWEBNAV_GETSESSIONHISTORY + + MENUITEM "SetSessionHistory", ID_INTERFACES_NSIWEBNAV_SETSESSIONHISTORY + + END + POPUP "nsI&Request" + BEGIN + MENUITEM "Run All Tests", ID_INTERFACES_NSIREQUEST_RUNALLTESTS + + MENUITEM SEPARATOR + MENUITEM "GetName", ID_INTERFACES_NSIREQUEST_GETNAME + + MENUITEM "IsPending", ID_INTERFACES_NSIREQUEST_ISPENDING + + MENUITEM "Cancel", ID_INTERFACES_NSIREQUEST_CANCEL + + MENUITEM "GetStatus", ID_INTERFACES_NSIREQUEST_GETSTATUS + + MENUITEM "Suspend", ID_INTERFACES_NSIREQUEST_SUSPEND + + MENUITEM "Resume", ID_INTERFACES_NSIREQUEST_RESUME + + MENUITEM "GetLoadGroup", ID_INTERFACES_NSIREQUEST_GETLOADGROUP + + MENUITEM "SetLoadGroup", ID_INTERFACES_NSIREQUEST_SETLOADGROUP + + MENUITEM "GetLoadFlags", ID_INTERFACES_NSIREQUEST_GETLOADFLAGS + + MENUITEM "SetLoadFlags", ID_INTERFACES_NSIREQUEST_SETLOADFLAGS + + END POPUP "nsIDirectoryService" BEGIN MENUITEM "Run All Tests", ID_INTERFACES_NSIDIRECTORYSERVICE_RUNALLTESTS