зеркало из https://github.com/mozilla/gecko-dev.git
NOT PART OF BUILD. Add some extra DHTML validation tests, plus test of control's visible property.
This commit is contained in:
Родитель
a1e7fb5214
Коммит
41b6ca5c1a
|
@ -98,6 +98,8 @@ BEGIN_MESSAGE_MAP(CBrowseDlg, CDialog)
|
|||
ON_BN_CLICKED(IDC_STOP, OnStop)
|
||||
ON_COMMAND(ID_FILE_SAVEAS, OnFileSaveAs)
|
||||
ON_COMMAND(ID_FILE_PRINT, OnFilePrint)
|
||||
ON_COMMAND(ID_DEBUG_VISIBLE, OnDebugVisible)
|
||||
ON_UPDATE_COMMAND_UI(ID_DEBUG_VISIBLE, OnUpdateDebugVisible)
|
||||
//}}AFX_MSG_MAP
|
||||
ON_COMMAND(IDB_BOLD, OnEditBold)
|
||||
ON_COMMAND(IDB_ITALIC, OnEditItalic)
|
||||
|
@ -891,3 +893,30 @@ void CBrowseDlg::OnFilePrint()
|
|||
{
|
||||
ExecOleCommand(NULL, OLECMDID_PRINT);
|
||||
}
|
||||
|
||||
void CBrowseDlg::OnDebugVisible()
|
||||
{
|
||||
VARIANT_BOOL visible = VARIANT_TRUE;
|
||||
IWebBrowser *pIWebBrowser = NULL;
|
||||
if (SUCCEEDED(GetWebBrowser(&pIWebBrowser)))
|
||||
{
|
||||
CIPtr(IWebBrowserApp) cpWebBrowser = pIWebBrowser;
|
||||
cpWebBrowser->get_Visible(&visible);
|
||||
cpWebBrowser->put_Visible(visible == VARIANT_TRUE ? VARIANT_FALSE : VARIANT_TRUE);
|
||||
pIWebBrowser->Release();
|
||||
}
|
||||
}
|
||||
|
||||
void CBrowseDlg::OnUpdateDebugVisible(CCmdUI* pCmdUI)
|
||||
{
|
||||
VARIANT_BOOL visible = VARIANT_TRUE;
|
||||
IWebBrowser *pIWebBrowser = NULL;
|
||||
if (SUCCEEDED(GetWebBrowser(&pIWebBrowser)))
|
||||
{
|
||||
CIPtr(IWebBrowserApp) cpWebBrowser = pIWebBrowser;
|
||||
cpWebBrowser->get_Visible(&visible);
|
||||
pIWebBrowser->Release();
|
||||
}
|
||||
|
||||
pCmdUI->SetCheck(visible == VARIANT_TRUE ? 1 : 0);
|
||||
}
|
||||
|
|
|
@ -101,6 +101,8 @@ protected:
|
|||
afx_msg void OnStop();
|
||||
afx_msg void OnFileSaveAs();
|
||||
afx_msg void OnFilePrint();
|
||||
afx_msg void OnDebugVisible();
|
||||
afx_msg void OnUpdateDebugVisible(CCmdUI* pCmdUI);
|
||||
//}}AFX_MSG
|
||||
afx_msg void OnEditBold();
|
||||
afx_msg void OnEditItalic();
|
||||
|
|
|
@ -147,6 +147,100 @@ TestResult __cdecl tstDocument(BrowserInfo &cInfo)
|
|||
}
|
||||
|
||||
|
||||
TestResult __cdecl tstBody(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
cInfo.GetDocument(&cpDocElement);
|
||||
if (cpDocElement == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No document"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CIPtr(IHTMLElement) cpBody;
|
||||
cpDocElement->get_body(&cpBody);
|
||||
if (cpBody == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No Body"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
return trPassed;
|
||||
}
|
||||
|
||||
TestResult __cdecl tstPutInnerHTML(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
cInfo.GetDocument(&cpDocElement);
|
||||
if (cpDocElement == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No document"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CIPtr(IHTMLElement) cpBody;
|
||||
cpDocElement->get_body(&cpBody);
|
||||
if (cpBody == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No Body"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CComBSTR bstr("<p>Hello world!<p><a href=\"http://www.mozilla.org\">Click here to visit our sponsor</a>");
|
||||
if (FAILED(cpBody->put_innerHTML(bstr)))
|
||||
{
|
||||
cInfo.OutputString(_T("Error: put_innerHTML returned error"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
return trPassed;
|
||||
}
|
||||
|
||||
TestResult __cdecl tstGetInnerHTML(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
cInfo.GetDocument(&cpDocElement);
|
||||
if (cpDocElement == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No document"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CIPtr(IHTMLElement) cpBody;
|
||||
HRESULT hr = cpDocElement->get_body( &cpBody );
|
||||
if (hr == S_OK)
|
||||
{
|
||||
CComBSTR html;
|
||||
if (FAILED(cpBody->get_innerHTML(&html)))
|
||||
{
|
||||
cInfo.OutputString(_T("Error: get_innerHTML returned error"));
|
||||
return trFailed;
|
||||
}
|
||||
}
|
||||
|
||||
return trPassed;
|
||||
}
|
||||
|
||||
TestResult __cdecl tstSetBgColor(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
cInfo.GetDocument(&cpDocElement);
|
||||
if (cpDocElement == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No document"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CComVariant v("red");
|
||||
if (FAILED(cpDocElement->put_bgColor(v)))
|
||||
{
|
||||
cInfo.OutputString(_T("Error: put_bgColor returned an error"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
return trPassed;
|
||||
}
|
||||
|
||||
TestResult __cdecl tstCollectionEnum(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
|
@ -306,29 +400,6 @@ TestResult __cdecl tstDriller(BrowserInfo &cInfo)
|
|||
}
|
||||
|
||||
|
||||
TestResult __cdecl tstInnerHTML(BrowserInfo &cInfo)
|
||||
{
|
||||
CIPtr(IHTMLDocument2) cpDocElement;
|
||||
cInfo.GetDocument(&cpDocElement);
|
||||
if (cpDocElement == NULL)
|
||||
{
|
||||
cInfo.OutputString(_T("Error: No document"));
|
||||
return trFailed;
|
||||
}
|
||||
|
||||
CIPtr(IHTMLElement) cpBody;
|
||||
HRESULT hr = cpDocElement->get_body( &cpBody );
|
||||
if (hr == S_OK)
|
||||
{
|
||||
BSTR html = NULL;
|
||||
cpBody->get_innerHTML(&html);
|
||||
SysFreeString(html);
|
||||
}
|
||||
|
||||
return trPassed;
|
||||
}
|
||||
|
||||
|
||||
TestResult __cdecl tstTesters(BrowserInfo &cInfo)
|
||||
{
|
||||
cInfo.OutputString("Test architecture is reasonably sane!");
|
||||
|
@ -516,9 +587,12 @@ Test aBrowsing[] =
|
|||
Test aDHTML[] =
|
||||
{
|
||||
{ _T("IWebBrowser::get_Document"), _T("Test if browser has a top level element"), tstDocument },
|
||||
{ _T("IHTMLDocument::get_Body"), _T("Test if the body element can be retrieved"), tstBody},
|
||||
{ _T("IHTMLElement::put_innerHTML"), _T("Test if the innerHTML attribute works"), tstPutInnerHTML },
|
||||
{ _T("IHTMLElement::get_innerHTML"), _T("Dump the innerHTML for the BODY element"), tstGetInnerHTML },
|
||||
{ _T("IHTMLElement::put_bgColor"), _T("Set the document background color to red"), tstSetBgColor },
|
||||
{ _T("IHTMLElementCollection::get__newEnum"), _T("Test if element collections return enumerations"), tstCollectionEnum },
|
||||
{ _T("Parse DOM"), _T("Parse the document DOM"), tstDriller },
|
||||
{ _T("innerHTML"), _T("Dump the innerHTML for the BODY element"), tstInnerHTML }
|
||||
{ _T("Parse DOM"), _T("Parse the document DOM"), tstDriller }
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -22,9 +22,7 @@ static char THIS_FILE[] = __FILE__;
|
|||
|
||||
BEGIN_MESSAGE_MAP(CBrowseApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CBrowseApp)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG
|
||||
//}}AFX_MSG_MAP
|
||||
ON_COMMAND(ID_HELP, CWinApp::OnHelp)
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
|
@ -203,3 +201,20 @@ BOOL CBrowseApp::InitATL()
|
|||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int CBrowseApp::Run()
|
||||
{
|
||||
int rv = 1;
|
||||
try {
|
||||
rv = CWinApp::Run();
|
||||
}
|
||||
catch (CException *e)
|
||||
{
|
||||
ASSERT(0);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
ASSERT(0);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
|
|
@ -32,13 +32,12 @@ public:
|
|||
public:
|
||||
virtual BOOL InitInstance();
|
||||
virtual int ExitInstance();
|
||||
virtual int Run();
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
// Implementation
|
||||
|
||||
//{{AFX_MSG(CBrowseApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
private:
|
||||
|
|
|
@ -102,7 +102,7 @@ STYLE WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_VISIBLE | WS_CAPTION |
|
|||
WS_SYSMENU | WS_THICKFRAME
|
||||
EXSTYLE WS_EX_APPWINDOW
|
||||
CAPTION "CBrowse"
|
||||
FONT 8, "MS Sans Serif"
|
||||
FONT 8, "MS Sans Serif", 0, 0, 0x1
|
||||
BEGIN
|
||||
RTEXT "&URL:",IDC_STATIC,7,13,18,8
|
||||
COMBOBOX IDC_URL,27,11,125,52,CBS_DROPDOWN | CBS_AUTOHSCROLL |
|
||||
|
@ -235,6 +235,10 @@ BEGIN
|
|||
BEGIN
|
||||
MENUITEM "&About...", ID_HELP_ABOUT
|
||||
END
|
||||
POPUP "&Debug"
|
||||
BEGIN
|
||||
MENUITEM "&Visible", ID_DEBUG_VISIBLE
|
||||
END
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
|
|
|
@ -65,13 +65,14 @@
|
|||
#define ID_EDIT_SELECTALL 32790
|
||||
#define ID_VIEW_REFRESH 32791
|
||||
#define ID_FILE_SAVEAS 32793
|
||||
#define ID_DEBUG_VISIBLE 32794
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 142
|
||||
#define _APS_NEXT_COMMAND_VALUE 32794
|
||||
#define _APS_NEXT_COMMAND_VALUE 32795
|
||||
#define _APS_NEXT_CONTROL_VALUE 1028
|
||||
#define _APS_NEXT_SYMED_VALUE 107
|
||||
#endif
|
||||
|
|
Загрузка…
Ссылка в новой задаче