Robert Shearman : ole32: Add a test for OleLoad.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Sep 7 05:07:19 CDT 2006


Module: wine
Branch: master
Commit: 03510be55be240aede90d113007dc8e3f14f3625
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=03510be55be240aede90d113007dc8e3f14f3625

Author: Robert Shearman <rob at codeweavers.com>
Date:   Thu Aug 31 17:19:34 2006 +0100

ole32: Add a test for OleLoad.

---

 dlls/ole32/tests/ole2.c |   33 +++++++++++++++++++++++++++++++++
 1 files changed, 33 insertions(+), 0 deletions(-)

diff --git a/dlls/ole32/tests/ole2.c b/dlls/ole32/tests/ole2.c
index e9055ce..c7a3023 100644
--- a/dlls/ole32/tests/ole2.c
+++ b/dlls/ole32/tests/ole2.c
@@ -759,6 +759,37 @@ static void test_OleCreate(IStorage *pSt
     trace("end\n");
 }
 
+static void test_OleLoad(IStorage *pStorage)
+{
+    HRESULT hr;
+    IOleObject *pObject;
+
+    static const char *methods_oleload[] =
+    {
+        "OleObject_QueryInterface",
+        "OleObject_AddRef",
+        "OleObject_QueryInterface",
+        "OleObject_AddRef",
+        "OleObject_GetMiscStatus",
+        "OleObject_QueryInterface",
+        "OleObjectPersistStg_AddRef",
+        "OleObjectPersistStg_Load",
+        "OleObjectPersistStg_Release",
+        "OleObject_SetClientSite",
+        "OleObject_Release",
+        "OleObject_QueryInterface",
+        "OleObject_Release",
+        NULL
+    };
+
+    expected_method_list = methods_oleload;
+    trace("OleLoad:\n");
+    hr = OleLoad(pStorage, &IID_IOleObject, (IOleClientSite *)0xdeadbeef, (void **)&pObject);
+    ok_ole_success(hr, "OleLoad");
+    IOleObject_Release(pObject);
+    ok(!*expected_method_list, "Method sequence starting from %s not called\n", *expected_method_list);
+}
+
 START_TEST(ole2)
 {
     DWORD dwRegister;
@@ -780,6 +811,8 @@ START_TEST(ole2)
     ok_ole_success(hr, "IStorage_Stat");
     ok(IsEqualCLSID(&CLSID_Equation3, &statstg.clsid), "Wrong CLSID in storage\n");
 
+    test_OleLoad(pStorage);
+
     IStorage_Release(pStorage);
 
     hr = CoRevokeClassObject(dwRegister);




More information about the wine-cvs mailing list