From be9ccb3dc659c2ea2be8ededea9442fe04d316b3 Mon Sep 17 00:00:00 2001 From: "locka%iol.ie" Date: Tue, 23 Mar 1999 23:56:34 +0000 Subject: [PATCH] More test improvements git-svn-id: svn://10.0.0.236/trunk@24922 18797224-902f-48f8-a5cc-f745e15eee43 --- .../ActiveX/tests/cbrowse/CBrowseDlg.cpp | 6 +- .../embed/ActiveX/tests/cbrowse/CBrowseDlg.h | 1 + .../embed/ActiveX/tests/cbrowse/PickerDlg.cpp | 11 ++ .../embed/ActiveX/tests/cbrowse/PickerDlg.h | 1 + .../embed/ActiveX/tests/cbrowse/StdAfx.h | 5 + .../embed/ActiveX/tests/cbrowse/Tests.cpp | 101 +++++++++++------- .../embed/ActiveX/tests/cbrowse/Tests.h | 3 +- .../embed/ActiveX/tests/cbrowse/cbrowse.rc | 25 +++-- .../embed/ActiveX/tests/cbrowse/resource.h | 3 +- 9 files changed, 106 insertions(+), 50 deletions(-) diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.cpp b/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.cpp index 80fd3cd04fb..6e31e444546 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.cpp +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.cpp @@ -56,6 +56,9 @@ CBrowseDlg::CBrowseDlg(CWnd* pParent /*=NULL*/) m_pBrowseDlg = this; m_pControlSite = NULL; m_clsid = CLSID_NULL; + + CWinApp *pApp = AfxGetApp(); + m_szTestURL = pApp->GetProfileString(SECTION_TEST, KEY_TESTURL, KEY_TESTURL_DEFAULTVALUE); } void CBrowseDlg::DoDataExchange(CDataExchange* pDX) @@ -287,11 +290,12 @@ TestResult CBrowseDlg::RunTest(Test *pTest) cInfo.pControlSite = m_pControlSite; cInfo.pIUnknown = NULL; cInfo.pfnOutputString = CBrowseDlg::OutputString; + cInfo.szTestURL = m_szTestURL; if (cInfo.pControlSite) { cInfo.pControlSite->GetControlUnknown(&cInfo.pIUnknown); } - nResult = pTest->pfn(&cInfo); + nResult = pTest->pfn(cInfo); pTest->nLastResult = nResult; if (cInfo.pIUnknown) { diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.h b/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.h index d2e59a6da8d..8d91203bfdb 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.h +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/CBrowseDlg.h @@ -49,6 +49,7 @@ public: protected: HICON m_hIcon; CImageList m_cImageList; + CString m_szTestURL; // Generated message map functions //{{AFX_MSG(CBrowseDlg) diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.cpp b/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.cpp index e729cc72589..17bf66607fd 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.cpp +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.cpp @@ -31,6 +31,7 @@ BrowserControl aControls[] = { _T("Internet Explorer Control"), &CLSID_InternetExplorer } }; + ///////////////////////////////////////////////////////////////////////////// // CPickerDlg dialog @@ -39,8 +40,12 @@ CPickerDlg::CPickerDlg(CWnd* pParent /*=NULL*/) : CDialog(CPickerDlg::IDD, pParent) { //{{AFX_DATA_INIT(CPickerDlg) + m_szTestURL = _T(""); //}}AFX_DATA_INIT m_clsid = CLSID_NULL; + + CWinApp *pApp = AfxGetApp(); + m_szTestURL = pApp->GetProfileString(SECTION_TEST, KEY_TESTURL, KEY_TESTURL_DEFAULTVALUE); } @@ -49,6 +54,7 @@ void CPickerDlg::DoDataExchange(CDataExchange* pDX) CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPickerDlg) DDX_Control(pDX, IDC_LISTBROWSER, m_lbPicker); + DDX_Text(pDX, IDC_TESTURL, m_szTestURL); //}}AFX_DATA_MAP } @@ -79,6 +85,8 @@ BOOL CPickerDlg::OnInitDialog() void CPickerDlg::OnOk() { + UpdateData(); + int nItem = m_lbPicker.GetCurSel(); if (nItem == LB_ERR) { @@ -88,6 +96,9 @@ void CPickerDlg::OnOk() m_clsid = *aControls[nItem].clsid; + CWinApp *pApp = AfxGetApp(); + pApp->WriteProfileString(SECTION_TEST, KEY_TESTURL, m_szTestURL); + EndDialog(IDOK); } diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.h b/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.h index 567c058b0e6..e2fd45dbaaa 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.h +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/PickerDlg.h @@ -20,6 +20,7 @@ public: //{{AFX_DATA(CPickerDlg) enum { IDD = IDD_PICKBROWSER }; CListBox m_lbPicker; + CString m_szTestURL; //}}AFX_DATA CLSID m_clsid; diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/StdAfx.h b/mozilla/webshell/embed/ActiveX/tests/cbrowse/StdAfx.h index 53dd2f55226..78819892c1d 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/StdAfx.h +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/StdAfx.h @@ -45,6 +45,11 @@ typedef std::basic_string tstring; #include "Tests.h" +#define SECTION_TEST _T("Test") +#define KEY_TESTURL _T("TestURL") +#define KEY_TESTURL_DEFAULTVALUE _T("http://www.mozilla.org") + + //{{AFX_INSERT_LOCATION}} // Microsoft Developer Studio will insert additional declarations immediately before the previous line. diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.cpp b/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.cpp index cf210883bd3..fee24c1ceb5 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.cpp +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.cpp @@ -18,10 +18,10 @@ #include "stdafx.h" -TestResult __cdecl tstDocument(BrowserInfo *pInfo) +TestResult __cdecl tstDocument(BrowserInfo &cInfo) { CIPtr(IHTMLDocument2) cpDocElement; - pInfo->GetDocument(&cpDocElement); + cInfo.GetDocument(&cpDocElement); if (cpDocElement == NULL) { return trFailed; @@ -31,7 +31,7 @@ TestResult __cdecl tstDocument(BrowserInfo *pInfo) } -void tstDrillerLevel(BrowserInfo *pInfo, IHTMLElementCollection *pCollection, int nLevel) +void tstDrillerLevel(BrowserInfo &cInfo, IHTMLElementCollection *pCollection, int nLevel) { if (pCollection == NULL) { @@ -61,22 +61,35 @@ void tstDrillerLevel(BrowserInfo *pInfo, IHTMLElementCollection *pCollection, in if ( hr == S_OK ) { - BSTR bstr; - hr = cpElem->get_tagName(&bstr); + BSTR bstrTagName = NULL; + hr = cpElem->get_tagName(&bstrTagName); + CString szTagName = bstrTagName; + SysFreeString(bstrTagName); + + BSTR bstrID = NULL; + hr = cpElem->get_id(&bstrID); + CString szID = bstrID; + SysFreeString(bstrID); + + BSTR bstrClassName = NULL; + hr = cpElem->get_className(&bstrClassName); + CString szClassName = bstrClassName; + SysFreeString(bstrClassName); USES_CONVERSION; char szLevel[256]; memset(szLevel, 0, sizeof(szLevel)); memset(szLevel, ' ', nLevel); - CString strTag = bstr; - pInfo->pfnOutputString(_T("Parsing element: %s%s"), A2T(szLevel), strTag); + cInfo.pfnOutputString(_T("%sElement %s"), A2T(szLevel), szTagName); + cInfo.pfnOutputString(_T("%s id=%s"), A2T(szLevel), szID); + cInfo.pfnOutputString(_T("%s classname=%s"), A2T(szLevel), szClassName); CIPtr(IHTMLImgElement) cpImgElem; hr = cpDisp->QueryInterface( IID_IHTMLImgElement, (void **)&cpImgElem ); if ( hr == S_OK ) { - cpImgElem->get_href(&bstr); +// cpImgElem->get_href(&bstr); } else { @@ -84,25 +97,25 @@ void tstDrillerLevel(BrowserInfo *pInfo, IHTMLElementCollection *pCollection, in hr = cpDisp->QueryInterface( IID_IHTMLAnchorElement, (void **)&cpAnchElem ); if ( hr == S_OK ) { - cpAnchElem->get_href(&bstr); +// cpAnchElem->get_href(&bstr); } } CIPtr(IDispatch) cpDispColl; - hr = cpElem->get_all(&cpDispColl); + hr = cpElem->get_children(&cpDispColl); if (hr == S_OK) { CIPtr(IHTMLElementCollection) cpColl = cpDispColl; - tstDrillerLevel(pInfo, cpColl, nLevel + 1); + tstDrillerLevel(cInfo, cpColl, nLevel + 1); } } } } -TestResult __cdecl tstDriller(BrowserInfo *pInfo) +TestResult __cdecl tstDriller(BrowserInfo &cInfo) { CIPtr(IHTMLDocument2) cpDocElement; - pInfo->GetDocument(&cpDocElement); + cInfo.GetDocument(&cpDocElement); if (cpDocElement == NULL) { return trFailed; @@ -112,21 +125,21 @@ TestResult __cdecl tstDriller(BrowserInfo *pInfo) HRESULT hr = cpDocElement->get_all( &cpColl ); if (hr == S_OK) { - tstDrillerLevel(pInfo, cpColl, 0); + tstDrillerLevel(cInfo, cpColl, 0); } return trPassed; } -TestResult __cdecl tstTesters(BrowserInfo *pInfo) +TestResult __cdecl tstTesters(BrowserInfo &cInfo) { - pInfo->pfnOutputString("Test architecture is reasonably sane!"); + cInfo.pfnOutputString("Test architecture is reasonably sane!"); return trPassed; } -TestResult __cdecl tstControlActive(BrowserInfo *pInfo) +TestResult __cdecl tstControlActive(BrowserInfo &cInfo) { - CControlSiteInstance *pControlSite = pInfo->pControlSite; + CControlSiteInstance *pControlSite = cInfo.pControlSite; if (pControlSite == NULL || !pControlSite->IsInPlaceActive()) { return trFailed; @@ -134,34 +147,31 @@ TestResult __cdecl tstControlActive(BrowserInfo *pInfo) return trPassed; } -TestResult __cdecl tstIWebBrowser(BrowserInfo *pInfo) +TestResult __cdecl tstIWebBrowser(BrowserInfo &cInfo) { - if (pInfo->pIUnknown == NULL) + if (cInfo.pIUnknown == NULL) { return trFailed; } - IWebBrowser *pIWebBrowser = NULL; - pInfo->pIUnknown->QueryInterface(IID_IWebBrowser, (void **) &pIWebBrowser); - if (pIWebBrowser) + + CIPtr(IWebBrowser) cpIWebBrowser = cInfo.pIUnknown; + if (cpIWebBrowser) { - pIWebBrowser->Release(); return trPassed; } return trFailed; } -TestResult __cdecl tstIWebBrowser2(BrowserInfo *pInfo) +TestResult __cdecl tstIWebBrowser2(BrowserInfo &cInfo) { - if (pInfo->pIUnknown == NULL) + if (cInfo.pIUnknown == NULL) { return trFailed; } - IWebBrowser2 *pIWebBrowser = NULL; - pInfo->pIUnknown->QueryInterface(IID_IWebBrowser2, (void **) &pIWebBrowser); - if (pIWebBrowser) + CIPtr(IWebBrowser2) cpIWebBrowser = cInfo.pIUnknown; + if (cpIWebBrowser) { - pIWebBrowser->Release(); return trPassed; } @@ -169,23 +179,29 @@ TestResult __cdecl tstIWebBrowser2(BrowserInfo *pInfo) } -TestResult __cdecl tstIWebBrowserApp(BrowserInfo *pInfo) +TestResult __cdecl tstIWebBrowserApp(BrowserInfo &cInfo) { - if (pInfo->pIUnknown == NULL) + if (cInfo.pIUnknown == NULL) { return trFailed; } - IWebBrowser2 *pIWebBrowser = NULL; - pInfo->pIUnknown->QueryInterface(IID_IWebBrowserApp, (void **) &pIWebBrowser); - if (pIWebBrowser) + + CIPtr(IWebBrowserApp) cpIWebBrowser = cInfo.pIUnknown; + if (cpIWebBrowser) { - pIWebBrowser->Release(); return trPassed; } return trFailed; } +TestResult __cdecl tstNavigate2(BrowserInfo &cInfo) +{ + return trFailed; +} + +/////////////////////////////////////////////////////////////////////////////// + Test aBasic[] = { { _T("Test Tester"), _T("Ensure that the testing architecture is working"), tstTesters, trNotRun }, @@ -195,6 +211,16 @@ Test aBasic[] = { _T("IWebBrowserApp"), _T("Test if control has an IWebBrowserApp interface"), tstIWebBrowserApp, trNotRun } }; +Test aBrowsing[] = +{ + { _T("Navigate2"), _T("Test if browser can navigate to the test URL"), NULL } +}; + +Test aOther[] = +{ + { _T("Print Page"), _T("Print the test URL page"), NULL } +}; + Test aDHTML[] = { { _T("get_Document"), _T("Test if browser has a top level element"), tstDocument }, @@ -204,7 +230,8 @@ Test aDHTML[] = TestSet aTestSets[] = { { _T("Basic"), _T("Basic sanity tests"), 5, aBasic }, - { _T("Browsing"), _T("Browsing and navigation tests"), 0, NULL }, + { _T("Browsing"), _T("Browsing and navigation tests"), 1, aBrowsing }, + { _T("Other"), _T("Other tests"), 1, aOther }, { _T("DHTML"), _T("Test the DOM"), 2, aDHTML } }; diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.h b/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.h index 213adc5ff8d..5c692ef7482 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.h +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/Tests.h @@ -38,6 +38,7 @@ public: IUnknown *pIUnknown; CLSID clsid; OutputStringProc pfnOutputString; + CString szTestURL; HRESULT GetWebBrowser(IWebBrowserApp **pWebBrowser) { @@ -68,7 +69,7 @@ public: }; -typedef TestResult (__cdecl *TestProc)(BrowserInfo *pInfo); +typedef TestResult (__cdecl *TestProc)(BrowserInfo &cInfo); struct Test { diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/cbrowse.rc b/mozilla/webshell/embed/ActiveX/tests/cbrowse/cbrowse.rc index 56f7d6b953f..9840f9c6d35 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/cbrowse.rc +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/cbrowse.rc @@ -211,18 +211,23 @@ IDI_TEST ICON DISCARDABLE "res\\test.ico" // Dialog // -IDD_PICKBROWSER DIALOG DISCARDABLE 0, 0, 186, 71 +IDD_PICKBROWSER DIALOG DISCARDABLE 0, 0, 284, 157 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Dialog" +CAPTION "Welcome to CBrowse!" FONT 8, "MS Sans Serif" BEGIN - DEFPUSHBUTTON "OK",IDOK,129,7,50,14 - PUSHBUTTON "Cancel",IDCANCEL,129,24,50,14 - LISTBOX IDC_LISTBROWSER,7,38,115,26,LBS_NOINTEGRALHEIGHT | + LTEXT "This is a browser/test application written in MFC that exercises the IE browser interface of the control that you choose from the list below.", + IDC_STATIC,7,7,213,27 + LTEXT "Whatever control you choose, the exact same code is run upon it. Discrepancies in behaviour or test results may indicate a bug!", + IDC_STATIC,7,37,213,20 + LTEXT "Pick the browser to test:",IDC_STATIC,7,61,77,8 + LISTBOX IDC_LISTBROWSER,7,74,213,26,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP - LTEXT "CBrowse is a test app that exercises the IE browser interface.", - IDC_STATIC,7,7,116,18 - LTEXT "Pick the browser to test:",IDC_STATIC,7,28,77,8 + LTEXT "Some of the tests require a test URL. You may change the default one if you want. Ensure that the URL is valid otherwise the tests might fail!", + IDC_STATIC,7,108,213,25 + EDITTEXT IDC_TESTURL,7,137,213,13,ES_AUTOHSCROLL + DEFPUSHBUTTON "OK",IDOK,227,7,50,14 + PUSHBUTTON "Cancel",IDCANCEL,227,24,50,14 END @@ -237,9 +242,9 @@ BEGIN IDD_PICKBROWSER, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 179 + RIGHTMARGIN, 277 TOPMARGIN, 7 - BOTTOMMARGIN, 64 + BOTTOMMARGIN, 150 END END #endif // APSTUDIO_INVOKED diff --git a/mozilla/webshell/embed/ActiveX/tests/cbrowse/resource.h b/mozilla/webshell/embed/ActiveX/tests/cbrowse/resource.h index bde6f7f7b87..8cf164982b4 100644 --- a/mozilla/webshell/embed/ActiveX/tests/cbrowse/resource.h +++ b/mozilla/webshell/embed/ActiveX/tests/cbrowse/resource.h @@ -21,6 +21,7 @@ #define IDC_BACKWARD 1008 #define IDC_FORWARD 1009 #define IDC_TESTDESCRIPTION 1010 +#define IDC_TESTURL 1011 // Next default values for new objects // @@ -28,7 +29,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 135 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1011 +#define _APS_NEXT_CONTROL_VALUE 1012 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif