Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
3b20cb11
Commit
3b20cb11
authored
Jan 20, 2010
by
Jacek Caban
Committed by
Alexandre Julliard
Jan 20, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mshtml: Store document as IHTMLDocument2 interface.
parent
de3fa09c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
196 additions
and
212 deletions
+196
-212
htmldoc.c
dlls/mshtml/tests/htmldoc.c
+196
-212
No files found.
dlls/mshtml/tests/htmldoc.c
View file @
3b20cb11
...
...
@@ -188,7 +188,7 @@ static const WCHAR doc_url[] = {'w','i','n','e','t','e','s','t',':','d','o','c',
static
const
WCHAR
about_blank_url
[]
=
{
'a'
,
'b'
,
'o'
,
'u'
,
't'
,
':'
,
'b'
,
'l'
,
'a'
,
'n'
,
'k'
,
0
};
static
HRESULT
QueryInterface
(
REFIID
riid
,
void
**
ppv
);
static
void
test_MSHTML_QueryStatus
(
I
Unknown
*
,
DWORD
);
static
void
test_MSHTML_QueryStatus
(
I
HTMLDocument2
*
,
DWORD
);
#define test_readyState(u) _test_readyState(__LINE__,u)
static
void
_test_readyState
(
unsigned
,
IUnknown
*
);
...
...
@@ -2943,12 +2943,12 @@ static void test_ConnectionPoint(IConnectionPointContainer *container, REFIID ri
IConnectionPoint_Release
(
cp
);
}
static
void
test_ConnectionPointContainer
(
I
Unknown
*
unk
)
static
void
test_ConnectionPointContainer
(
I
HTMLDocument2
*
doc
)
{
IConnectionPointContainer
*
container
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IConnectionPointContainer
,
(
void
**
)
&
container
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IConnectionPointContainer
,
(
void
**
)
&
container
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IConnectionPointContainer) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3170,14 +3170,14 @@ static void test_download(DWORD flags)
test_readyState
(
NULL
);
}
static
void
test_Persist
(
I
Unknown
*
unk
,
IMoniker
*
mon
)
static
void
test_Persist
(
I
HTMLDocument2
*
doc
,
IMoniker
*
mon
)
{
IPersistMoniker
*
persist_mon
;
IPersistFile
*
persist_file
;
GUID
guid
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistFile
,
(
void
**
)
&
persist_file
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistFile
,
(
void
**
)
&
persist_file
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersist) failed: %08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IPersist_GetClassID
(
persist_file
,
NULL
);
...
...
@@ -3190,7 +3190,7 @@ static void test_Persist(IUnknown *unk, IMoniker *mon)
IPersist_Release
(
persist_file
);
}
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistMoniker
,
(
void
**
)
&
persist_mon
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistMoniker
,
(
void
**
)
&
persist_mon
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistMoniker) failed: %08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IPersistMoniker_GetClassID
(
persist_mon
,
NULL
);
...
...
@@ -3203,25 +3203,20 @@ static void test_Persist(IUnknown *unk, IMoniker *mon)
if
(
load_state
==
LD_DOLOAD
)
test_Load
(
persist_mon
,
mon
);
test_readyState
(
unk
);
test_readyState
(
(
IUnknown
*
)
doc
);
IPersistMoniker_Release
(
persist_mon
);
}
}
static
void
test_put_href
(
I
Unknown
*
unk
)
static
void
test_put_href
(
I
HTMLDocument2
*
doc
)
{
IHTMLLocation
*
location
;
IHTMLDocument2
*
doc
;
BSTR
str
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLDocument2
,
(
void
**
)
&
doc
);
ok
(
hres
==
S_OK
,
"Could not get IHTMLDocument2 iface: %08x
\n
"
,
hres
);
location
=
NULL
;
hres
=
IHTMLDocument2_get_location
(
doc
,
&
location
);
IHTMLDocument2_Release
(
doc
);
ok
(
hres
==
S_OK
,
"get_location failed: %08x
\n
"
,
hres
);
ok
(
location
!=
NULL
,
"location == NULL
\n
"
);
...
...
@@ -3300,10 +3295,9 @@ static void _test_QueryStatus(unsigned line, IUnknown *unk, REFIID cgid, ULONG c
ok_
(
__FILE__
,
line
)
(
olecmd
.
cmdf
==
cmdf
,
"(%u) cmdf=%08x, expected %08x
\n
"
,
cmdid
,
olecmd
.
cmdf
,
cmdf
);
}
static
void
test_MSHTML_QueryStatus
(
I
Unknown
*
unk
,
DWORD
cmdf
)
static
void
test_MSHTML_QueryStatus
(
I
HTMLDocument2
*
doc
,
DWORD
cmdf
)
{
if
(
!
unk
)
unk
=
doc_unk
;
IUnknown
*
unk
=
doc
?
(
IUnknown
*
)
doc
:
doc_unk
;
test_QueryStatus
(
unk
,
&
CGID_MSHTML
,
IDM_FONTNAME
,
cmdf
);
test_QueryStatus
(
unk
,
&
CGID_MSHTML
,
IDM_FONTSIZE
,
cmdf
);
...
...
@@ -3323,14 +3317,14 @@ static void test_MSHTML_QueryStatus(IUnknown *unk, DWORD cmdf)
test_QueryStatus
(
unk
,
&
CGID_MSHTML
,
IDM_DELETE
,
cmdf
);
}
static
void
test_OleCommandTarget
(
I
Unknown
*
unk
)
static
void
test_OleCommandTarget
(
I
HTMLDocument2
*
doc
)
{
IOleCommandTarget
*
cmdtrg
;
OLECMD
cmds
[
OLECMDID_GETPRINTTEMPLATE
];
int
i
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleCommandTarget failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3361,7 +3355,7 @@ static void test_OleCommandTarget(IUnknown *unk)
IOleCommandTarget_Release
(
cmdtrg
);
}
static
void
test_OleCommandTarget_fail
(
I
Unknown
*
unk
)
static
void
test_OleCommandTarget_fail
(
I
HTMLDocument2
*
doc
)
{
IOleCommandTarget
*
cmdtrg
;
int
i
;
...
...
@@ -3372,7 +3366,7 @@ static void test_OleCommandTarget_fail(IUnknown *unk)
{
OLECMDID_GETPRINTTEMPLATE
+
1
,
0xf0f0
}
};
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
ok
(
hres
==
S_OK
,
"QueryInterface(IIDIOleCommandTarget failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3413,13 +3407,13 @@ static void test_OleCommandTarget_fail(IUnknown *unk)
IOleCommandTarget_Release
(
cmdtrg
);
}
static
void
test_exec_onunload
(
I
Unknown
*
unk
)
static
void
test_exec_onunload
(
I
HTMLDocument2
*
doc
)
{
IOleCommandTarget
*
cmdtrg
;
VARIANT
var
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleCommandTarget
,
(
void
**
)
&
cmdtrg
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleCommandTarget) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3568,14 +3562,14 @@ static void test_exec_noargs(IUnknown *unk, DWORD cmdid)
IOleCommandTarget_Release
(
cmdtrg
);
}
static
void
test_IsDirty
(
I
Unknown
*
unk
,
HRESULT
exhres
)
static
void
test_IsDirty
(
I
HTMLDocument2
*
doc
,
HRESULT
exhres
)
{
IPersistStreamInit
*
perinit
;
IPersistMoniker
*
permon
;
IPersistFile
*
perfile
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
perinit
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
perinit
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistStreamInit failed: %08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IPersistStreamInit_IsDirty
(
perinit
);
...
...
@@ -3583,7 +3577,7 @@ static void test_IsDirty(IUnknown *unk, HRESULT exhres)
IPersistStreamInit_Release
(
perinit
);
}
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistMoniker
,
(
void
**
)
&
permon
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistMoniker
,
(
void
**
)
&
permon
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistMoniker failed: %08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IPersistMoniker_IsDirty
(
permon
);
...
...
@@ -3591,7 +3585,7 @@ static void test_IsDirty(IUnknown *unk, HRESULT exhres)
IPersistMoniker_Release
(
permon
);
}
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistFile
,
(
void
**
)
&
perfile
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistFile
,
(
void
**
)
&
perfile
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistFile failed: %08x
\n
"
,
hres
);
if
(
SUCCEEDED
(
hres
))
{
hres
=
IPersistFile_IsDirty
(
perfile
);
...
...
@@ -3716,12 +3710,12 @@ static void test_ClientSite(IOleObject *oleobj, DWORD flags)
ok
(
clientsite
==
&
ClientSite
,
"GetClientSite() = %p, expected %p
\n
"
,
clientsite
,
&
ClientSite
);
}
static
void
test_OnAmbientPropertyChange
(
I
Unknown
*
unk
)
static
void
test_OnAmbientPropertyChange
(
I
HTMLDocument2
*
doc
)
{
IOleControl
*
control
=
NULL
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleControl
,
(
void
**
)
&
control
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleControl
,
(
void
**
)
&
control
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleControl failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3765,12 +3759,12 @@ static void test_OnAmbientPropertyChange(IUnknown *unk)
static
void
test_OnAmbientPropertyChange2
(
I
Unknown
*
unk
)
static
void
test_OnAmbientPropertyChange2
(
I
HTMLDocument2
*
doc
)
{
IOleControl
*
control
=
NULL
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleControl
,
(
void
**
)
&
control
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleControl
,
(
void
**
)
&
control
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleControl failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3781,12 +3775,12 @@ static void test_OnAmbientPropertyChange2(IUnknown *unk)
IOleControl_Release
(
control
);
}
static
void
test_Close
(
I
Unknown
*
unk
,
BOOL
set_client
)
static
void
test_Close
(
I
HTMLDocument2
*
doc
,
BOOL
set_client
)
{
IOleObject
*
oleobj
=
NULL
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleObject) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3806,14 +3800,14 @@ static void test_Close(IUnknown *unk, BOOL set_client)
IOleObject_Release
(
oleobj
);
}
static
void
test_Advise
(
I
Unknown
*
unk
)
static
void
test_Advise
(
I
HTMLDocument2
*
doc
)
{
IOleObject
*
oleobj
=
NULL
;
IEnumSTATDATA
*
enum_advise
=
(
void
*
)
0xdeadbeef
;
DWORD
conn
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleObject) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -3898,12 +3892,12 @@ static void test_OnFrameWindowActivate(IUnknown *unk)
IOleInPlaceActiveObject_Release
(
inplaceact
);
}
static
void
test_InPlaceDeactivate
(
I
Unknown
*
unk
,
BOOL
expect_call
)
static
void
test_InPlaceDeactivate
(
I
HTMLDocument2
*
doc
,
BOOL
expect_call
)
{
IOleInPlaceObjectWindowless
*
windowlessobj
=
NULL
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleInPlaceObjectWindowless
,
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleInPlaceObjectWindowless
,
(
void
**
)
&
windowlessobj
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleInPlaceObjectWindowless) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
...
...
@@ -3929,7 +3923,7 @@ static void test_InPlaceDeactivate(IUnknown *unk, BOOL expect_call)
IOleInPlaceObjectWindowless_Release
(
windowlessobj
);
}
static
void
test_Activate
(
I
Unknown
*
unk
,
DWORD
flags
)
static
void
test_Activate
(
I
HTMLDocument2
*
doc
,
DWORD
flags
)
{
IOleObject
*
oleobj
=
NULL
;
IOleDocumentView
*
docview
;
...
...
@@ -3942,7 +3936,7 @@ static void test_Activate(IUnknown *unk, DWORD flags)
IOleDocumentView_Release
(
view
);
view
=
NULL
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleObject) failed: %08x
\n
"
,
hres
);
hres
=
IOleObject_GetUserClassID
(
oleobj
,
NULL
);
...
...
@@ -3952,10 +3946,10 @@ static void test_Activate(IUnknown *unk, DWORD flags)
ok
(
hres
==
S_OK
,
"GetUserClassID failed: %08x
\n
"
,
hres
);
ok
(
IsEqualGUID
(
&
guid
,
&
CLSID_HTMLDocument
),
"guid != CLSID_HTMLDocument
\n
"
);
test_OnFrameWindowActivate
(
unk
);
test_OnFrameWindowActivate
(
(
IUnknown
*
)
doc
);
test_ClientSite
(
oleobj
,
flags
);
test_InPlaceDeactivate
(
unk
,
FALSE
);
test_InPlaceDeactivate
(
doc
,
FALSE
);
test_DoVerb
(
oleobj
);
if
(
call_UIActivate
==
CallUIActivate_AfterShow
)
{
...
...
@@ -3983,10 +3977,10 @@ static void test_Activate(IUnknown *unk, DWORD flags)
IOleObject_Release
(
oleobj
);
test_OnFrameWindowActivate
(
unk
);
test_OnFrameWindowActivate
(
(
IUnknown
*
)
doc
);
}
static
void
test_Window
(
I
Unknown
*
unk
,
BOOL
expect_success
)
static
void
test_Window
(
I
HTMLDocument2
*
doc
,
BOOL
expect_success
)
{
IOleInPlaceActiveObject
*
activeobject
=
NULL
;
HWND
tmp_hwnd
;
...
...
@@ -4069,34 +4063,34 @@ static void test_Hide(void)
ok
(
hres
==
S_OK
,
"Show failed: %08x
\n
"
,
hres
);
}
static
HRESULT
create_document
(
I
Unknown
**
unk
)
static
HRESULT
create_document
(
I
HTMLDocument2
**
doc
)
{
IHTMLDocument5
*
doc5
;
HRESULT
hres
;
hres
=
CoCreateInstance
(
&
CLSID_HTMLDocument
,
NULL
,
CLSCTX_INPROC_SERVER
|
CLSCTX_INPROC_HANDLER
,
&
IID_I
Unknown
,
(
void
**
)
unk
);
&
IID_I
HTMLDocument2
,
(
void
**
)
doc
);
ok
(
hres
==
S_OK
,
"CoCreateInstance failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
hres
;
hres
=
I
Unknown_QueryInterface
(
*
unk
,
&
IID_IHTMLDocument5
,
(
void
**
)
&
doc5
);
hres
=
I
HTMLDocument2_QueryInterface
(
*
doc
,
&
IID_IHTMLDocument5
,
(
void
**
)
&
doc5
);
if
(
SUCCEEDED
(
hres
))
{
IHTMLDocument5_Release
(
doc5
);
}
else
{
win_skip
(
"Could not get IHTMLDocument5, probably too old IE
\n
"
);
I
Unknown_Release
(
*
unk
);
I
HTMLDocument2_Release
(
*
doc
);
}
return
hres
;
}
static
void
test_Navigate
(
I
Unknown
*
unk
)
static
void
test_Navigate
(
I
HTMLDocument2
*
doc
)
{
IHlinkTarget
*
hlink
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHlinkTarget
,
(
void
**
)
&
hlink
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IHlinkTarget
,
(
void
**
)
&
hlink
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IHlinkTarget) failed: %08x
\n
"
,
hres
);
SET_EXPECT
(
ActivateMe
);
...
...
@@ -4107,18 +4101,13 @@ static void test_Navigate(IUnknown *unk)
IHlinkTarget_Release
(
hlink
);
}
static
void
test_external
(
I
Unknown
*
unk
,
BOOL
initialized
)
static
void
test_external
(
I
HTMLDocument2
*
doc
,
BOOL
initialized
)
{
IDispatch
*
external
;
IHTMLDocument2
*
doc
;
IHTMLWindow2
*
htmlwin
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLDocument2
,
(
void
**
)
&
doc
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IHTMLWindow2) failed: %08x
\n
"
,
hres
);
hres
=
IHTMLDocument2_get_parentWindow
(
doc
,
&
htmlwin
);
IHTMLDocument2_Release
(
doc
);
ok
(
hres
==
S_OK
,
"get_parentWindow failed: %08x
\n
"
,
hres
);
if
(
initialized
)
...
...
@@ -4137,12 +4126,12 @@ static void test_external(IUnknown *unk, BOOL initialized)
IHTMLWindow2_Release
(
htmlwin
);
}
static
void
test_StreamLoad
(
I
Unknown
*
unk
)
static
void
test_StreamLoad
(
I
HTMLDocument2
*
doc
)
{
IPersistStreamInit
*
init
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
init
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
init
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistStreamInit) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -4164,17 +4153,17 @@ static void test_StreamLoad(IUnknown *unk)
CHECK_CALLED
(
Read
);
test_timer
(
EXPECT_SETTITLE
);
test_GetCurMoniker
(
unk
,
NULL
,
about_blank_url
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
about_blank_url
);
IPersistStreamInit_Release
(
init
);
}
static
void
test_StreamInitNew
(
I
Unknown
*
unk
)
static
void
test_StreamInitNew
(
I
HTMLDocument2
*
doc
)
{
IPersistStreamInit
*
init
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
init
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistStreamInit
,
(
void
**
)
&
init
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IPersistStreamInit) failed: %08x
\n
"
,
hres
);
if
(
FAILED
(
hres
))
return
;
...
...
@@ -4194,12 +4183,12 @@ static void test_StreamInitNew(IUnknown *unk)
CHECK_CALLED
(
OnChanged_READYSTATE
);
test_timer
(
EXPECT_SETTITLE
);
test_GetCurMoniker
(
unk
,
NULL
,
about_blank_url
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
about_blank_url
);
IPersistStreamInit_Release
(
init
);
}
static
void
test_QueryInterface
(
I
Unknown
*
unk
)
static
void
test_QueryInterface
(
I
HTMLDocument2
*
doc
)
{
IUnknown
*
qi
;
HRESULT
hres
;
...
...
@@ -4208,32 +4197,32 @@ static void test_QueryInterface(IUnknown *unk)
{
0x719c3050
,
0xf9d3
,
0x11cf
,{
0xa4
,
0x93
,
0x00
,
0x40
,
0x05
,
0x23
,
0xa8
,
0xa0
}};
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IRunnableObject
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IRunnableObject
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qirunnable=%p, expected NULL
\n
"
,
qi
);
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLDOMNode
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IHTMLDOMNode
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qi=%p, expected NULL
\n
"
,
qi
);
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLDOMNode2
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IHTMLDOMNode2
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qi=%p, expected NULL
\n
"
,
qi
);
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistPropertyBag
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistPropertyBag
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qi=%p, expected NULL
\n
"
,
qi
);
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_UndocumentedScriptIface
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_UndocumentedScriptIface
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qi=%p, expected NULL
\n
"
,
qi
);
qi
=
(
void
*
)
0xdeadbeef
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IMarshal
,
(
void
**
)
&
qi
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IMarshal
,
(
void
**
)
&
qi
);
ok
(
hres
==
E_NOINTERFACE
,
"QueryInterface returned %08x, expected E_NOINTERFACE
\n
"
,
hres
);
ok
(
qi
==
NULL
,
"qi=%p, expected NULL
\n
"
,
qi
);
}
...
...
@@ -4254,7 +4243,7 @@ static void init_test(enum load_state_t ls) {
static
void
test_HTMLDocument
(
BOOL
do_load
)
{
I
Unknown
*
unk
;
I
HTMLDocument2
*
doc
;
HRESULT
hres
;
ULONG
ref
;
...
...
@@ -4262,80 +4251,80 @@ static void test_HTMLDocument(BOOL do_load)
init_test
(
do_load
?
LD_DOLOAD
:
LD_NO
);
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
test_QueryInterface
(
unk
);
test_Advise
(
unk
);
test_IsDirty
(
unk
,
S_FALSE
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_external
(
unk
,
FALSE
);
test_ConnectionPointContainer
(
unk
);
test_GetCurMoniker
(
unk
,
NULL
,
NULL
);
test_Persist
(
unk
,
&
Moniker
);
doc_unk
=
(
IUnknown
*
)
doc
;
test_QueryInterface
(
doc
);
test_Advise
(
doc
);
test_IsDirty
(
doc
,
S_FALSE
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_external
(
doc
,
FALSE
);
test_ConnectionPointContainer
(
doc
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
NULL
);
test_Persist
(
doc
,
&
Moniker
);
if
(
!
do_load
)
test_OnAmbientPropertyChange2
(
unk
);
test_OnAmbientPropertyChange2
(
doc
);
test_Activate
(
unk
,
CLIENTSITE_EXPECTPATH
);
test_Activate
(
doc
,
CLIENTSITE_EXPECTPATH
);
if
(
do_load
)
{
test_download
(
DWL_CSS
|
DWL_TRYCSS
);
test_GetCurMoniker
(
unk
,
&
Moniker
,
NULL
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
&
Moniker
,
NULL
);
}
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_OleCommandTarget_fail
(
unk
);
test_OleCommandTarget
(
unk
);
test_OnAmbientPropertyChange
(
unk
);
test_Window
(
unk
,
TRUE
);
test_external
(
unk
,
TRUE
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_OleCommandTarget_fail
(
doc
);
test_OleCommandTarget
(
doc
);
test_OnAmbientPropertyChange
(
doc
);
test_Window
(
doc
,
TRUE
);
test_external
(
doc
,
TRUE
);
test_UIDeactivate
();
test_OleCommandTarget
(
unk
);
test_Window
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_OleCommandTarget
(
doc
);
test_Window
(
doc
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
/* Calling test_OleCommandTarget here causes Segmentation Fault with native
* MSHTML. It doesn't with Wine. */
test_Window
(
unk
,
FALSE
);
test_Window
(
doc
,
FALSE
);
test_Hide
();
test_InPlaceDeactivate
(
unk
,
FALSE
);
test_InPlaceDeactivate
(
doc
,
FALSE
);
test_CloseView
();
test_Close
(
unk
,
FALSE
);
test_Close
(
doc
,
FALSE
);
/* Activate HTMLDocument again */
test_Activate
(
unk
,
CLIENTSITE_SETNULL
);
test_Window
(
unk
,
TRUE
);
test_OleCommandTarget
(
unk
);
test_Activate
(
doc
,
CLIENTSITE_SETNULL
);
test_Window
(
doc
,
TRUE
);
test_OleCommandTarget
(
doc
);
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_Close
(
unk
,
FALSE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
test_Close
(
doc
,
FALSE
);
/* Activate HTMLDocument again, this time without UIActivate */
call_UIActivate
=
CallUIActivate_None
;
test_Activate
(
unk
,
CLIENTSITE_SETNULL
);
test_Window
(
unk
,
TRUE
);
test_Activate
(
doc
,
CLIENTSITE_SETNULL
);
test_Window
(
doc
,
TRUE
);
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
test_CloseView
();
test_CloseView
();
test_Close
(
unk
,
TRUE
);
test_OnAmbientPropertyChange2
(
unk
);
test_GetCurMoniker
(
unk
,
do_load
?
&
Moniker
:
NULL
,
NULL
);
test_Close
(
doc
,
TRUE
);
test_OnAmbientPropertyChange2
(
doc
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
do_load
?
&
Moniker
:
NULL
,
NULL
);
if
(
!
do_load
)
{
/* Activate HTMLDocument again, calling UIActivate after showing the window */
call_UIActivate
=
CallUIActivate_AfterShow
;
test_Activate
(
unk
,
0
);
test_Window
(
unk
,
TRUE
);
test_OleCommandTarget
(
unk
);
test_Activate
(
doc
,
0
);
test_Window
(
doc
,
TRUE
);
test_OleCommandTarget
(
doc
);
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_Close
(
unk
,
FALSE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
test_Close
(
doc
,
FALSE
);
call_UIActivate
=
CallUIActivate_None
;
}
...
...
@@ -4345,7 +4334,7 @@ static void test_HTMLDocument(BOOL do_load)
ok
(
IsWindow
(
hwnd
),
"hwnd is destroyed
\n
"
);
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
ok
(
!
IsWindow
(
hwnd
),
"hwnd is not destroyed
\n
"
);
...
...
@@ -4353,7 +4342,7 @@ static void test_HTMLDocument(BOOL do_load)
static
void
test_HTMLDocument_hlink
(
void
)
{
I
Unknown
*
unk
;
I
HTMLDocument2
*
doc
;
HRESULT
hres
;
ULONG
ref
;
...
...
@@ -4362,52 +4351,48 @@ static void test_HTMLDocument_hlink(void)
init_test
(
LD_DOLOAD
);
ipsex
=
TRUE
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
doc_unk
=
(
IUnknown
*
)
doc
;
test_ConnectionPointContainer
(
unk
);
test_GetCurMoniker
(
unk
,
NULL
,
NULL
);
test_Persist
(
unk
,
&
Moniker
);
test_Navigate
(
unk
);
test_ConnectionPointContainer
(
doc
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
NULL
);
test_Persist
(
doc
,
&
Moniker
);
test_Navigate
(
doc
);
if
(
show_failed
)
{
IUnknown_Release
(
unk
);
IUnknown_Release
(
doc
);
return
;
}
test_download
(
DWL_CSS
|
DWL_TRYCSS
);
test_IsDirty
(
unk
,
S_FALSE
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_IsDirty
(
doc
,
S_FALSE
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_exec_onunload
(
unk
);
test_Window
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_Close
(
unk
,
FALSE
);
test_IsDirty
(
unk
,
S_FALSE
);
test_GetCurMoniker
(
unk
,
&
Moniker
,
NULL
);
test_exec_onunload
(
doc
);
test_Window
(
doc
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
test_Close
(
doc
,
FALSE
);
test_IsDirty
(
doc
,
S_FALSE
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
&
Moniker
,
NULL
);
if
(
view
)
IOleDocumentView_Release
(
view
);
view
=
NULL
;
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
static
void
test_cookies
(
I
Unknown
*
unk
)
static
void
test_cookies
(
I
HTMLDocument2
*
doc
)
{
WCHAR
buf
[
1024
];
IHTMLDocument2
*
doc
;
DWORD
size
;
BSTR
str
,
str2
;
BOOL
b
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IHTMLDocument2
,
(
void
**
)
&
doc
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IHTMLDocument2) failed: %08x
\n
"
,
hres
);
hres
=
IHTMLDocument2_get_cookie
(
doc
,
&
str
);
ok
(
hres
==
S_OK
,
"get_cookie failed: %08x
\n
"
,
hres
);
if
(
str
)
{
...
...
@@ -4449,14 +4434,12 @@ static void test_cookies(IUnknown *unk)
ok
(
strstrW
(
str2
,
str
)
!=
NULL
,
"could not find %s in %s
\n
"
,
wine_dbgstr_w
(
str
),
wine_dbgstr_w
(
str2
));
SysFreeString
(
str
);
SysFreeString
(
str2
);
IHTMLDocument2_Release
(
doc
);
}
static
void
test_HTMLDocument_http
(
void
)
{
IMoniker
*
http_mon
;
I
Unknown
*
unk
;
I
HTMLDocument2
*
doc
;
ULONG
ref
;
HRESULT
hres
;
...
...
@@ -4468,17 +4451,17 @@ static void test_HTMLDocument_http(void)
init_test
(
LD_DOLOAD
);
ipsex
=
TRUE
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
doc_unk
=
(
IUnknown
*
)
doc
;
test_ConnectionPointContainer
(
unk
);
test_GetCurMoniker
(
unk
,
NULL
,
NULL
);
test_Persist
(
unk
,
http_mon
);
test_Navigate
(
unk
);
test_ConnectionPointContainer
(
doc
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
NULL
);
test_Persist
(
doc
,
http_mon
);
test_Navigate
(
doc
);
if
(
show_failed
)
{
IUnknown_Release
(
unk
);
IUnknown_Release
(
doc
);
return
;
}
...
...
@@ -4487,35 +4470,35 @@ static void test_HTMLDocument_http(void)
else
win_skip
(
"IE running in Enhanced Security Configuration
\n
"
);
test_cookies
(
unk
);
test_IsDirty
(
unk
,
S_FALSE
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_cookies
(
doc
);
test_IsDirty
(
doc
,
S_FALSE
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_put_href
(
unk
);
test_put_href
(
doc
);
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_Close
(
unk
,
FALSE
);
test_IsDirty
(
unk
,
S_FALSE
);
test_GetCurMoniker
(
unk
,
http_mon
,
NULL
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
test_Close
(
doc
,
FALSE
);
test_IsDirty
(
doc
,
S_FALSE
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
http_mon
,
NULL
);
if
(
view
)
IOleDocumentView_Release
(
view
);
view
=
NULL
;
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
!
ref
,
"ref=%d, expected 0
\n
"
,
ref
);
ref
=
IMoniker_Release
(
http_mon
);
ok
(
!
ref
,
"ref=%d, expected 0
\n
"
,
ref
);
}
static
void
test_QueryService
(
I
Unknown
*
unk
,
BOOL
success
)
static
void
test_QueryService
(
I
HTMLDocument2
*
doc
,
BOOL
success
)
{
IServiceProvider
*
sp
;
IHlinkFrame
*
hf
;
HRESULT
hres
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IServiceProvider
,
(
void
**
)
&
sp
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IServiceProvider
,
(
void
**
)
&
sp
);
ok
(
hres
==
S_OK
,
"QueryService returned %08x
\n
"
,
hres
);
hres
=
IServiceProvider_QueryService
(
sp
,
&
IID_IHlinkFrame
,
&
IID_IHlinkFrame
,
(
void
**
)
&
hf
);
...
...
@@ -4529,8 +4512,8 @@ static void test_QueryService(IUnknown *unk, BOOL success)
static
void
test_HTMLDocument_StreamLoad
(
void
)
{
IHTMLDocument2
*
doc
;
IOleObject
*
oleobj
;
IUnknown
*
unk
;
DWORD
conn
;
HRESULT
hres
;
ULONG
ref
;
...
...
@@ -4540,39 +4523,39 @@ static void test_HTMLDocument_StreamLoad(void)
init_test
(
LD_DOLOAD
);
load_from_stream
=
TRUE
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
doc_unk
=
(
IUnknown
*
)
doc
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"Could not get IOleObject: %08x
\n
"
,
hres
);
hres
=
IOleObject_Advise
(
oleobj
,
&
AdviseSink
,
&
conn
);
ok
(
hres
==
S_OK
,
"Advise failed: %08x
\n
"
,
hres
);
test_readyState
(
unk
);
test_IsDirty
(
unk
,
S_FALSE
);
test_ConnectionPointContainer
(
unk
);
test_QueryService
(
unk
,
FALSE
);
test_readyState
(
(
IUnknown
*
)
doc
);
test_IsDirty
(
doc
,
S_FALSE
);
test_ConnectionPointContainer
(
doc
);
test_QueryService
(
doc
,
FALSE
);
test_ClientSite
(
oleobj
,
CLIENTSITE_EXPECTPATH
);
test_QueryService
(
unk
,
TRUE
);
test_QueryService
(
doc
,
TRUE
);
test_DoVerb
(
oleobj
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
IOleObject_Release
(
oleobj
);
test_GetCurMoniker
(
unk
,
NULL
,
NULL
);
test_StreamLoad
(
unk
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
NULL
);
test_StreamLoad
(
doc
);
test_download
(
DWL_VERBDONE
|
DWL_TRYCSS
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
SET_EXPECT
(
Advise_Close
);
test_Close
(
unk
,
FALSE
);
test_Close
(
doc
,
FALSE
);
CHECK_CALLED
(
Advise_Close
);
test_IsDirty
(
unk
,
S_FALSE
);
test_IsDirty
(
doc
,
S_FALSE
);
if
(
view
)
{
IOleDocumentView_Release
(
view
);
...
...
@@ -4580,14 +4563,14 @@ static void test_HTMLDocument_StreamLoad(void)
}
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
static
void
test_HTMLDocument_StreamInitNew
(
void
)
{
IHTMLDocument2
*
doc
;
IOleObject
*
oleobj
;
IUnknown
*
unk
;
DWORD
conn
;
HRESULT
hres
;
ULONG
ref
;
...
...
@@ -4597,37 +4580,37 @@ static void test_HTMLDocument_StreamInitNew(void)
init_test
(
LD_DOLOAD
);
load_from_stream
=
TRUE
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
doc_unk
=
(
IUnknown
*
)
doc
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"Could not get IOleObject: %08x
\n
"
,
hres
);
hres
=
IOleObject_Advise
(
oleobj
,
&
AdviseSink
,
&
conn
);
ok
(
hres
==
S_OK
,
"Advise failed: %08x
\n
"
,
hres
);
test_readyState
(
unk
);
test_IsDirty
(
unk
,
S_FALSE
);
test_ConnectionPointContainer
(
unk
);
test_readyState
(
(
IUnknown
*
)
doc
);
test_IsDirty
(
doc
,
S_FALSE
);
test_ConnectionPointContainer
(
doc
);
test_ClientSite
(
oleobj
,
CLIENTSITE_EXPECTPATH
);
test_DoVerb
(
oleobj
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
IOleObject_Release
(
oleobj
);
test_GetCurMoniker
(
unk
,
NULL
,
NULL
);
test_StreamInitNew
(
unk
);
test_GetCurMoniker
(
(
IUnknown
*
)
doc
,
NULL
,
NULL
);
test_StreamInitNew
(
doc
);
test_download
(
DWL_VERBDONE
|
DWL_TRYCSS
|
DWL_EMPTY
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
SET_EXPECT
(
Advise_Close
);
test_Close
(
unk
,
FALSE
);
test_Close
(
doc
,
FALSE
);
CHECK_CALLED
(
Advise_Close
);
test_IsDirty
(
unk
,
S_FALSE
);
test_IsDirty
(
doc
,
S_FALSE
);
if
(
view
)
{
IOleDocumentView_Release
(
view
);
...
...
@@ -4635,7 +4618,7 @@ static void test_HTMLDocument_StreamInitNew(void)
}
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
...
...
@@ -4668,6 +4651,7 @@ static void test_edit_uiactivate(IOleObject *oleobj)
static
void
test_editing_mode
(
BOOL
do_load
)
{
IHTMLDocument2
*
doc
;
IUnknown
*
unk
;
IOleObject
*
oleobj
;
DWORD
conn
;
...
...
@@ -4679,40 +4663,40 @@ static void test_editing_mode(BOOL do_load)
init_test
(
do_load
?
LD_DOLOAD
:
LD_NO
);
call_UIActivate
=
CallUIActivate_AfterShow
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
unk
=
doc_unk
=
(
IUnknown
*
)
doc
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"Could not get IOleObject: %08x
\n
"
,
hres
);
hres
=
IOleObject_Advise
(
oleobj
,
&
AdviseSink
,
&
conn
);
ok
(
hres
==
S_OK
,
"Advise failed: %08x
\n
"
,
hres
);
test_readyState
(
unk
);
test_ConnectionPointContainer
(
unk
);
test_readyState
(
(
IUnknown
*
)
doc
);
test_ConnectionPointContainer
(
doc
);
test_ClientSite
(
oleobj
,
CLIENTSITE_EXPECTPATH
);
test_DoVerb
(
oleobj
);
test_edit_uiactivate
(
oleobj
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
if
(
do_load
)
test_Persist
(
unk
,
&
Moniker
);
test_Persist
(
doc
,
&
Moniker
);
stream_read
=
protocol_read
=
0
;
test_exec_editmode
(
unk
,
do_load
);
test_UIDeactivate
();
call_UIActivate
=
CallUIActivate_None
;
IOleObject_Release
(
oleobj
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
);
test_download
(
DWL_VERBDONE
|
(
do_load
?
DWL_CSS
|
DWL_TRYCSS
:
0
));
SET_EXPECT
(
SetStatusText
);
/* ignore race in native mshtml */
test_timer
(
EXPECT_UPDATEUI
);
SET_CALLED
(
SetStatusText
);
test_MSHTML_QueryStatus
(
unk
,
OLECMDF_SUPPORTED
|
OLECMDF_ENABLED
);
test_MSHTML_QueryStatus
(
doc
,
OLECMDF_SUPPORTED
|
OLECMDF_ENABLED
);
if
(
!
do_load
)
{
test_exec_fontname
(
unk
,
NULL
,
wszTimesNewRoman
);
...
...
@@ -4739,9 +4723,9 @@ static void test_editing_mode(BOOL do_load)
}
test_UIDeactivate
();
test_InPlaceDeactivate
(
unk
,
TRUE
);
test_InPlaceDeactivate
(
doc
,
TRUE
);
SET_EXPECT
(
Advise_Close
);
test_Close
(
unk
,
FALSE
);
test_Close
(
doc
,
FALSE
);
CHECK_CALLED
(
Advise_Close
);
if
(
view
)
{
...
...
@@ -4755,7 +4739,7 @@ static void test_editing_mode(BOOL do_load)
static
void
test_UIActivate
(
BOOL
do_load
,
BOOL
use_ipsex
,
BOOL
use_ipsw
)
{
I
Unknown
*
unk
;
I
HTMLDocument2
*
doc
;
IOleObject
*
oleobj
;
IOleInPlaceSite
*
inplacesite
;
HRESULT
hres
;
...
...
@@ -4765,18 +4749,18 @@ static void test_UIActivate(BOOL do_load, BOOL use_ipsex, BOOL use_ipsw)
init_test
(
do_load
?
LD_DOLOAD
:
LD_NO
);
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
doc_unk
=
unk
;
doc_unk
=
(
IUnknown
*
)
doc
;
ipsex
=
use_ipsex
;
ipsw
=
use_ipsw
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleObject
,
(
void
**
)
&
oleobj
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleObject) failed: %08x
\n
"
,
hres
);
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IOleDocumentView
,
(
void
**
)
&
view
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IOleDocumentView
,
(
void
**
)
&
view
);
ok
(
hres
==
S_OK
,
"QueryInterface(IID_IOleDocumentView) failed: %08x
\n
"
,
hres
);
SET_EXPECT
(
Invoke_AMBIENT_USERMODE
);
...
...
@@ -4893,13 +4877,13 @@ static void test_UIActivate(BOOL do_load, BOOL use_ipsex, BOOL use_ipsw)
else
CHECK_CALLED
(
OnInPlaceDeactivate
);
test_Close
(
unk
,
TRUE
);
test_Close
(
doc
,
TRUE
);
IOleObject_Release
(
oleobj
);
IOleDocumentView_Release
(
view
);
view
=
NULL
;
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
...
...
@@ -4922,16 +4906,16 @@ static void register_protocol(void)
static
void
test_HTMLDoc_ISupportErrorInfo
(
void
)
{
IHTMLDocument2
*
doc
;
HRESULT
hres
;
IUnknown
*
unk
;
ISupportErrorInfo
*
sinfo
;
LONG
ref
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_ISupportErrorInfo
,
(
void
**
)
&
sinfo
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_ISupportErrorInfo
,
(
void
**
)
&
sinfo
);
ok
(
hres
==
S_OK
,
"got %x
\n
"
,
hres
);
ok
(
sinfo
!=
NULL
,
"got %p
\n
"
,
sinfo
);
if
(
sinfo
)
...
...
@@ -4941,27 +4925,27 @@ static void test_HTMLDoc_ISupportErrorInfo(void)
IUnknown_Release
(
sinfo
);
}
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
static
void
test_IPersistHistory
(
void
)
{
IHTMLDocument2
*
doc
;
HRESULT
hres
;
IUnknown
*
unk
;
LONG
ref
;
IPersistHistory
*
phist
;
hres
=
create_document
(
&
unk
);
hres
=
create_document
(
&
doc
);
if
(
FAILED
(
hres
))
return
;
hres
=
IUnknown_QueryInterface
(
unk
,
&
IID_IPersistHistory
,
(
void
**
)
&
phist
);
hres
=
IUnknown_QueryInterface
(
doc
,
&
IID_IPersistHistory
,
(
void
**
)
&
phist
);
ok
(
hres
==
S_OK
,
"QueryInterface returned %08x, expected S_OK
\n
"
,
hres
);
if
(
hres
==
S_OK
)
IPersistHistory_Release
(
phist
);
ref
=
I
Unknown_Release
(
unk
);
ref
=
I
HTMLDocument2_Release
(
doc
);
ok
(
ref
==
0
,
"ref=%d, expected 0
\n
"
,
ref
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment