3203
3203
if(load_state == LD_DOLOAD)
3204
3204
test_Load(persist_mon, mon);
3206
test_readyState(unk);
3206
test_readyState((IUnknown*)doc);
3208
3208
IPersistMoniker_Release(persist_mon);
3212
static void test_put_href(IUnknown *unk)
3212
static void test_put_href(IHTMLDocument2 *doc)
3214
3214
IHTMLLocation *location;
3215
IHTMLDocument2 *doc;
3219
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDocument2, (void**)&doc);
3220
ok(hres == S_OK, "Could not get IHTMLDocument2 iface: %08x\n", hres);
3222
3218
location = NULL;
3223
3219
hres = IHTMLDocument2_get_location(doc, &location);
3224
IHTMLDocument2_Release(doc);
3225
3220
ok(hres == S_OK, "get_location failed: %08x\n", hres);
3226
3221
ok(location != NULL, "location == NULL\n");
4069
4063
ok(hres == S_OK, "Show failed: %08x\n", hres);
4072
static HRESULT create_document(IUnknown **unk)
4066
static HRESULT create_document(IHTMLDocument2 **doc)
4074
4068
IHTMLDocument5 *doc5;
4077
4071
hres = CoCreateInstance(&CLSID_HTMLDocument, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
4078
&IID_IUnknown, (void**)unk);
4072
&IID_IHTMLDocument2, (void**)doc);
4079
4073
ok(hres == S_OK, "CoCreateInstance failed: %08x\n", hres);
4080
4074
if(FAILED(hres))
4083
hres = IUnknown_QueryInterface(*unk, &IID_IHTMLDocument5, (void**)&doc5);
4077
hres = IHTMLDocument2_QueryInterface(*doc, &IID_IHTMLDocument5, (void**)&doc5);
4084
4078
if(SUCCEEDED(hres)) {
4085
4079
IHTMLDocument5_Release(doc5);
4087
4081
win_skip("Could not get IHTMLDocument5, probably too old IE\n");
4088
IUnknown_Release(*unk);
4082
IHTMLDocument2_Release(*doc);
4094
static void test_Navigate(IUnknown *unk)
4088
static void test_Navigate(IHTMLDocument2 *doc)
4096
4090
IHlinkTarget *hlink;
4099
hres = IUnknown_QueryInterface(unk, &IID_IHlinkTarget, (void**)&hlink);
4093
hres = IUnknown_QueryInterface(doc, &IID_IHlinkTarget, (void**)&hlink);
4100
4094
ok(hres == S_OK, "QueryInterface(IID_IHlinkTarget) failed: %08x\n", hres);
4102
4096
SET_EXPECT(ActivateMe);
4164
4153
CHECK_CALLED(Read);
4166
4155
test_timer(EXPECT_SETTITLE);
4167
test_GetCurMoniker(unk, NULL, about_blank_url);
4156
test_GetCurMoniker((IUnknown*)doc, NULL, about_blank_url);
4169
4158
IPersistStreamInit_Release(init);
4172
static void test_StreamInitNew(IUnknown *unk)
4161
static void test_StreamInitNew(IHTMLDocument2 *doc)
4174
4163
IPersistStreamInit *init;
4177
hres = IUnknown_QueryInterface(unk, &IID_IPersistStreamInit, (void**)&init);
4166
hres = IUnknown_QueryInterface(doc, &IID_IPersistStreamInit, (void**)&init);
4178
4167
ok(hres == S_OK, "QueryInterface(IID_IPersistStreamInit) failed: %08x\n", hres);
4179
4168
if(FAILED(hres))
4208
4197
{0x719c3050,0xf9d3,0x11cf,{0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa0}};
4210
4199
qi = (void*)0xdeadbeef;
4211
hres = IUnknown_QueryInterface(unk, &IID_IRunnableObject, (void**)&qi);
4200
hres = IUnknown_QueryInterface(doc, &IID_IRunnableObject, (void**)&qi);
4212
4201
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4213
4202
ok(qi == NULL, "qirunnable=%p, expected NULL\n", qi);
4215
4204
qi = (void*)0xdeadbeef;
4216
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode, (void**)&qi);
4217
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4218
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4220
qi = (void*)0xdeadbeef;
4221
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode2, (void**)&qi);
4222
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4223
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4225
qi = (void*)0xdeadbeef;
4226
hres = IUnknown_QueryInterface(unk, &IID_IPersistPropertyBag, (void**)&qi);
4227
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4228
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4230
qi = (void*)0xdeadbeef;
4231
hres = IUnknown_QueryInterface(unk, &IID_UndocumentedScriptIface, (void**)&qi);
4232
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4233
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4235
qi = (void*)0xdeadbeef;
4236
hres = IUnknown_QueryInterface(unk, &IID_IMarshal, (void**)&qi);
4205
hres = IUnknown_QueryInterface(doc, &IID_IHTMLDOMNode, (void**)&qi);
4206
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4207
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4209
qi = (void*)0xdeadbeef;
4210
hres = IUnknown_QueryInterface(doc, &IID_IHTMLDOMNode2, (void**)&qi);
4211
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4212
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4214
qi = (void*)0xdeadbeef;
4215
hres = IUnknown_QueryInterface(doc, &IID_IPersistPropertyBag, (void**)&qi);
4216
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4217
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4219
qi = (void*)0xdeadbeef;
4220
hres = IUnknown_QueryInterface(doc, &IID_UndocumentedScriptIface, (void**)&qi);
4221
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4222
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4224
qi = (void*)0xdeadbeef;
4225
hres = IUnknown_QueryInterface(doc, &IID_IMarshal, (void**)&qi);
4237
4226
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
4238
4227
ok(qi == NULL, "qi=%p, expected NULL\n", qi);
4263
4252
init_test(do_load ? LD_DOLOAD : LD_NO);
4265
hres = create_document(&unk);
4254
hres = create_document(&doc);
4266
4255
if(FAILED(hres))
4257
doc_unk = (IUnknown*)doc;
4270
test_QueryInterface(unk);
4272
test_IsDirty(unk, S_FALSE);
4273
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4274
test_external(unk, FALSE);
4275
test_ConnectionPointContainer(unk);
4276
test_GetCurMoniker(unk, NULL, NULL);
4277
test_Persist(unk, &Moniker);
4259
test_QueryInterface(doc);
4261
test_IsDirty(doc, S_FALSE);
4262
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4263
test_external(doc, FALSE);
4264
test_ConnectionPointContainer(doc);
4265
test_GetCurMoniker((IUnknown*)doc, NULL, NULL);
4266
test_Persist(doc, &Moniker);
4279
test_OnAmbientPropertyChange2(unk);
4268
test_OnAmbientPropertyChange2(doc);
4281
test_Activate(unk, CLIENTSITE_EXPECTPATH);
4270
test_Activate(doc, CLIENTSITE_EXPECTPATH);
4284
4273
test_download(DWL_CSS|DWL_TRYCSS);
4285
test_GetCurMoniker(unk, &Moniker, NULL);
4274
test_GetCurMoniker((IUnknown*)doc, &Moniker, NULL);
4288
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4289
test_OleCommandTarget_fail(unk);
4290
test_OleCommandTarget(unk);
4291
test_OnAmbientPropertyChange(unk);
4292
test_Window(unk, TRUE);
4293
test_external(unk, TRUE);
4277
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4278
test_OleCommandTarget_fail(doc);
4279
test_OleCommandTarget(doc);
4280
test_OnAmbientPropertyChange(doc);
4281
test_Window(doc, TRUE);
4282
test_external(doc, TRUE);
4295
4284
test_UIDeactivate();
4296
test_OleCommandTarget(unk);
4297
test_Window(unk, TRUE);
4298
test_InPlaceDeactivate(unk, TRUE);
4285
test_OleCommandTarget(doc);
4286
test_Window(doc, TRUE);
4287
test_InPlaceDeactivate(doc, TRUE);
4300
4289
/* Calling test_OleCommandTarget here causes Segmentation Fault with native
4301
4290
* MSHTML. It doesn't with Wine. */
4303
test_Window(unk, FALSE);
4292
test_Window(doc, FALSE);
4305
test_InPlaceDeactivate(unk, FALSE);
4294
test_InPlaceDeactivate(doc, FALSE);
4306
4295
test_CloseView();
4307
test_Close(unk, FALSE);
4296
test_Close(doc, FALSE);
4309
4298
/* Activate HTMLDocument again */
4310
test_Activate(unk, CLIENTSITE_SETNULL);
4311
test_Window(unk, TRUE);
4312
test_OleCommandTarget(unk);
4299
test_Activate(doc, CLIENTSITE_SETNULL);
4300
test_Window(doc, TRUE);
4301
test_OleCommandTarget(doc);
4313
4302
test_UIDeactivate();
4314
test_InPlaceDeactivate(unk, TRUE);
4315
test_Close(unk, FALSE);
4303
test_InPlaceDeactivate(doc, TRUE);
4304
test_Close(doc, FALSE);
4317
4306
/* Activate HTMLDocument again, this time without UIActivate */
4318
4307
call_UIActivate = CallUIActivate_None;
4319
test_Activate(unk, CLIENTSITE_SETNULL);
4320
test_Window(unk, TRUE);
4308
test_Activate(doc, CLIENTSITE_SETNULL);
4309
test_Window(doc, TRUE);
4322
4311
test_UIDeactivate();
4323
test_InPlaceDeactivate(unk, TRUE);
4326
test_Close(unk, TRUE);
4327
test_OnAmbientPropertyChange2(unk);
4328
test_GetCurMoniker(unk, do_load ? &Moniker : NULL, NULL);
4312
test_InPlaceDeactivate(doc, TRUE);
4315
test_Close(doc, TRUE);
4316
test_OnAmbientPropertyChange2(doc);
4317
test_GetCurMoniker((IUnknown*)doc, do_load ? &Moniker : NULL, NULL);
4331
4320
/* Activate HTMLDocument again, calling UIActivate after showing the window */
4332
4321
call_UIActivate = CallUIActivate_AfterShow;
4333
test_Activate(unk, 0);
4334
test_Window(unk, TRUE);
4335
test_OleCommandTarget(unk);
4322
test_Activate(doc, 0);
4323
test_Window(doc, TRUE);
4324
test_OleCommandTarget(doc);
4336
4325
test_UIDeactivate();
4337
test_InPlaceDeactivate(unk, TRUE);
4338
test_Close(unk, FALSE);
4326
test_InPlaceDeactivate(doc, TRUE);
4327
test_Close(doc, FALSE);
4339
4328
call_UIActivate = CallUIActivate_None;
4362
4351
init_test(LD_DOLOAD);
4365
hres = create_document(&unk);
4354
hres = create_document(&doc);
4366
4355
if(FAILED(hres))
4357
doc_unk = (IUnknown*)doc;
4370
test_ConnectionPointContainer(unk);
4371
test_GetCurMoniker(unk, NULL, NULL);
4372
test_Persist(unk, &Moniker);
4359
test_ConnectionPointContainer(doc);
4360
test_GetCurMoniker((IUnknown*)doc, NULL, NULL);
4361
test_Persist(doc, &Moniker);
4374
4363
if(show_failed) {
4375
IUnknown_Release(unk);
4364
IUnknown_Release(doc);
4379
4368
test_download(DWL_CSS|DWL_TRYCSS);
4381
test_IsDirty(unk, S_FALSE);
4382
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4370
test_IsDirty(doc, S_FALSE);
4371
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4384
test_exec_onunload(unk);
4385
test_Window(unk, TRUE);
4386
test_InPlaceDeactivate(unk, TRUE);
4387
test_Close(unk, FALSE);
4388
test_IsDirty(unk, S_FALSE);
4389
test_GetCurMoniker(unk, &Moniker, NULL);
4373
test_exec_onunload(doc);
4374
test_Window(doc, TRUE);
4375
test_InPlaceDeactivate(doc, TRUE);
4376
test_Close(doc, FALSE);
4377
test_IsDirty(doc, S_FALSE);
4378
test_GetCurMoniker((IUnknown*)doc, &Moniker, NULL);
4392
4381
IOleDocumentView_Release(view);
4395
ref = IUnknown_Release(unk);
4384
ref = IHTMLDocument2_Release(doc);
4396
4385
ok(ref == 0, "ref=%d, expected 0\n", ref);
4399
static void test_cookies(IUnknown *unk)
4388
static void test_cookies(IHTMLDocument2 *doc)
4401
4390
WCHAR buf[1024];
4402
IHTMLDocument2 *doc;
4404
4392
BSTR str, str2;
4408
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDocument2, (void**)&doc);
4409
ok(hres == S_OK, "QueryInterface(IID_IHTMLDocument2) failed: %08x\n", hres);
4411
4396
hres = IHTMLDocument2_get_cookie(doc, &str);
4412
4397
ok(hres == S_OK, "get_cookie failed: %08x\n", hres);
4449
4434
ok(strstrW(str2, str) != NULL, "could not find %s in %s\n", wine_dbgstr_w(str), wine_dbgstr_w(str2));
4450
4435
SysFreeString(str);
4451
4436
SysFreeString(str2);
4453
IHTMLDocument2_Release(doc);
4456
4439
static void test_HTMLDocument_http(void)
4458
4441
IMoniker *http_mon;
4442
IHTMLDocument2 *doc;
4463
4446
trace("Testing HTMLDocument (http)...\n");
4448
init_test(LD_DOLOAD);
4451
hres = create_document(&doc);
4454
doc_unk = (IUnknown*)doc;
4465
4456
hres = CreateURLMoniker(NULL, http_urlW, &http_mon);
4466
4457
ok(hres == S_OK, "CreateURLMoniker failed: %08x\n", hres);
4468
init_test(LD_DOLOAD);
4471
hres = create_document(&unk);
4476
test_ConnectionPointContainer(unk);
4477
test_GetCurMoniker(unk, NULL, NULL);
4478
test_Persist(unk, http_mon);
4459
test_ConnectionPointContainer(doc);
4460
test_GetCurMoniker((IUnknown*)doc, NULL, NULL);
4461
test_Persist(doc, http_mon);
4480
4463
if(show_failed) {
4481
IUnknown_Release(unk);
4464
IUnknown_Release(doc);
4488
4471
win_skip("IE running in Enhanced Security Configuration\n");
4491
test_IsDirty(unk, S_FALSE);
4492
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4496
test_InPlaceDeactivate(unk, TRUE);
4497
test_Close(unk, FALSE);
4498
test_IsDirty(unk, S_FALSE);
4499
test_GetCurMoniker(unk, http_mon, NULL);
4474
test_IsDirty(doc, S_FALSE);
4475
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4479
test_InPlaceDeactivate(doc, TRUE);
4480
test_Close(doc, FALSE);
4481
test_IsDirty(doc, S_FALSE);
4482
test_GetCurMoniker((IUnknown*)doc, http_mon, NULL);
4502
4485
IOleDocumentView_Release(view);
4505
ref = IUnknown_Release(unk);
4488
ref = IHTMLDocument2_Release(doc);
4506
4489
ok(!ref, "ref=%d, expected 0\n", ref);
4508
4491
ref = IMoniker_Release(http_mon);
4509
4492
ok(!ref, "ref=%d, expected 0\n", ref);
4512
static void test_QueryService(IUnknown *unk, BOOL success)
4495
static void test_QueryService(IHTMLDocument2 *doc, BOOL success)
4514
4497
IServiceProvider *sp;
4515
4498
IHlinkFrame *hf;
4518
hres = IUnknown_QueryInterface(unk, &IID_IServiceProvider, (void**)&sp);
4501
hres = IUnknown_QueryInterface(doc, &IID_IServiceProvider, (void**)&sp);
4519
4502
ok(hres == S_OK, "QueryService returned %08x\n", hres);
4521
4504
hres = IServiceProvider_QueryService(sp, &IID_IHlinkFrame, &IID_IHlinkFrame, (void**)&hf);
4540
4523
init_test(LD_DOLOAD);
4541
4524
load_from_stream = TRUE;
4543
hres = create_document(&unk);
4526
hres = create_document(&doc);
4544
4527
if(FAILED(hres))
4529
doc_unk = (IUnknown*)doc;
4548
hres = IUnknown_QueryInterface(unk, &IID_IOleObject, (void**)&oleobj);
4531
hres = IUnknown_QueryInterface(doc, &IID_IOleObject, (void**)&oleobj);
4549
4532
ok(hres == S_OK, "Could not get IOleObject: %08x\n", hres);
4551
4534
hres = IOleObject_Advise(oleobj, &AdviseSink, &conn);
4552
4535
ok(hres == S_OK, "Advise failed: %08x\n", hres);
4554
test_readyState(unk);
4555
test_IsDirty(unk, S_FALSE);
4556
test_ConnectionPointContainer(unk);
4557
test_QueryService(unk, FALSE);
4537
test_readyState((IUnknown*)doc);
4538
test_IsDirty(doc, S_FALSE);
4539
test_ConnectionPointContainer(doc);
4540
test_QueryService(doc, FALSE);
4558
4541
test_ClientSite(oleobj, CLIENTSITE_EXPECTPATH);
4559
test_QueryService(unk, TRUE);
4542
test_QueryService(doc, TRUE);
4560
4543
test_DoVerb(oleobj);
4561
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4544
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4563
4546
IOleObject_Release(oleobj);
4565
test_GetCurMoniker(unk, NULL, NULL);
4566
test_StreamLoad(unk);
4548
test_GetCurMoniker((IUnknown*)doc, NULL, NULL);
4549
test_StreamLoad(doc);
4567
4550
test_download(DWL_VERBDONE|DWL_TRYCSS);
4568
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4551
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4570
4553
test_UIDeactivate();
4571
test_InPlaceDeactivate(unk, TRUE);
4554
test_InPlaceDeactivate(doc, TRUE);
4572
4555
SET_EXPECT(Advise_Close);
4573
test_Close(unk, FALSE);
4556
test_Close(doc, FALSE);
4574
4557
CHECK_CALLED(Advise_Close);
4575
test_IsDirty(unk, S_FALSE);
4558
test_IsDirty(doc, S_FALSE);
4578
4561
IOleDocumentView_Release(view);
4597
4580
init_test(LD_DOLOAD);
4598
4581
load_from_stream = TRUE;
4600
hres = create_document(&unk);
4583
hres = create_document(&doc);
4601
4584
if(FAILED(hres))
4586
doc_unk = (IUnknown*)doc;
4605
hres = IUnknown_QueryInterface(unk, &IID_IOleObject, (void**)&oleobj);
4588
hres = IUnknown_QueryInterface(doc, &IID_IOleObject, (void**)&oleobj);
4606
4589
ok(hres == S_OK, "Could not get IOleObject: %08x\n", hres);
4608
4591
hres = IOleObject_Advise(oleobj, &AdviseSink, &conn);
4609
4592
ok(hres == S_OK, "Advise failed: %08x\n", hres);
4611
test_readyState(unk);
4612
test_IsDirty(unk, S_FALSE);
4613
test_ConnectionPointContainer(unk);
4594
test_readyState((IUnknown*)doc);
4595
test_IsDirty(doc, S_FALSE);
4596
test_ConnectionPointContainer(doc);
4614
4597
test_ClientSite(oleobj, CLIENTSITE_EXPECTPATH);
4615
4598
test_DoVerb(oleobj);
4616
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4599
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4618
4601
IOleObject_Release(oleobj);
4620
test_GetCurMoniker(unk, NULL, NULL);
4621
test_StreamInitNew(unk);
4603
test_GetCurMoniker((IUnknown*)doc, NULL, NULL);
4604
test_StreamInitNew(doc);
4622
4605
test_download(DWL_VERBDONE|DWL_TRYCSS|DWL_EMPTY);
4623
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4606
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4625
4608
test_UIDeactivate();
4626
test_InPlaceDeactivate(unk, TRUE);
4609
test_InPlaceDeactivate(doc, TRUE);
4627
4610
SET_EXPECT(Advise_Close);
4628
test_Close(unk, FALSE);
4611
test_Close(doc, FALSE);
4629
4612
CHECK_CALLED(Advise_Close);
4630
test_IsDirty(unk, S_FALSE);
4613
test_IsDirty(doc, S_FALSE);
4633
4616
IOleDocumentView_Release(view);
4679
4663
init_test(do_load ? LD_DOLOAD : LD_NO);
4680
4664
call_UIActivate = CallUIActivate_AfterShow;
4682
hres = create_document(&unk);
4666
hres = create_document(&doc);
4683
4667
if(FAILED(hres))
4669
unk = doc_unk = (IUnknown*)doc;
4687
hres = IUnknown_QueryInterface(unk, &IID_IOleObject, (void**)&oleobj);
4671
hres = IUnknown_QueryInterface(doc, &IID_IOleObject, (void**)&oleobj);
4688
4672
ok(hres == S_OK, "Could not get IOleObject: %08x\n", hres);
4690
4674
hres = IOleObject_Advise(oleobj, &AdviseSink, &conn);
4691
4675
ok(hres == S_OK, "Advise failed: %08x\n", hres);
4693
test_readyState(unk);
4694
test_ConnectionPointContainer(unk);
4677
test_readyState((IUnknown*)doc);
4678
test_ConnectionPointContainer(doc);
4695
4679
test_ClientSite(oleobj, CLIENTSITE_EXPECTPATH);
4696
4680
test_DoVerb(oleobj);
4697
4681
test_edit_uiactivate(oleobj);
4699
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4683
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4701
test_Persist(unk, &Moniker);
4685
test_Persist(doc, &Moniker);
4702
4686
stream_read = protocol_read = 0;
4703
4687
test_exec_editmode(unk, do_load);
4704
4688
test_UIDeactivate();
4705
4689
call_UIActivate = CallUIActivate_None;
4706
4690
IOleObject_Release(oleobj);
4708
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED);
4692
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED);
4709
4693
test_download(DWL_VERBDONE | (do_load ? DWL_CSS|DWL_TRYCSS : 0));
4711
4695
SET_EXPECT(SetStatusText); /* ignore race in native mshtml */
4712
4696
test_timer(EXPECT_UPDATEUI);
4713
4697
SET_CALLED(SetStatusText);
4715
test_MSHTML_QueryStatus(unk, OLECMDF_SUPPORTED|OLECMDF_ENABLED);
4699
test_MSHTML_QueryStatus(doc, OLECMDF_SUPPORTED|OLECMDF_ENABLED);
4718
4702
test_exec_fontname(unk, NULL, wszTimesNewRoman);
4766
4750
init_test(do_load ? LD_DOLOAD : LD_NO);
4768
hres = create_document(&unk);
4752
hres = create_document(&doc);
4769
4753
if(FAILED(hres))
4755
doc_unk = (IUnknown*)doc;
4773
4757
ipsex = use_ipsex;
4774
4758
ipsw = use_ipsw;
4776
hres = IUnknown_QueryInterface(unk, &IID_IOleObject, (void**)&oleobj);
4760
hres = IUnknown_QueryInterface(doc, &IID_IOleObject, (void**)&oleobj);
4777
4761
ok(hres == S_OK, "QueryInterface(IID_IOleObject) failed: %08x\n", hres);
4779
hres = IUnknown_QueryInterface(unk, &IID_IOleDocumentView, (void**)&view);
4763
hres = IUnknown_QueryInterface(doc, &IID_IOleDocumentView, (void**)&view);
4780
4764
ok(hres == S_OK, "QueryInterface(IID_IOleDocumentView) failed: %08x\n", hres);
4782
4766
SET_EXPECT(Invoke_AMBIENT_USERMODE);
4941
4925
IUnknown_Release(sinfo);
4944
ref = IUnknown_Release(unk);
4928
ref = IHTMLDocument2_Release(doc);
4945
4929
ok(ref == 0, "ref=%d, expected 0\n", ref);
4948
4932
static void test_IPersistHistory(void)
4934
IHTMLDocument2 *doc;
4953
4937
IPersistHistory *phist;
4955
hres = create_document(&unk);
4939
hres = create_document(&doc);
4956
4940
if(FAILED(hres))
4959
hres = IUnknown_QueryInterface(unk, &IID_IPersistHistory, (void**)&phist);
4943
hres = IUnknown_QueryInterface(doc, &IID_IPersistHistory, (void**)&phist);
4960
4944
ok(hres == S_OK, "QueryInterface returned %08x, expected S_OK\n", hres);
4961
4945
if(hres == S_OK)
4962
4946
IPersistHistory_Release(phist);
4964
ref = IUnknown_Release(unk);
4948
ref = IHTMLDocument2_Release(doc);
4965
4949
ok(ref == 0, "ref=%d, expected 0\n", ref);