Juan Lang : ole32/tests: Test creating an IPropertySetStorage with an unknown format id.
Alexandre Julliard
julliard at winehq.org
Tue May 25 12:06:08 CDT 2010
Module: wine
Branch: master
Commit: b4c3a041650b248a992e53b1f981d6a7c61e9365
URL: http://source.winehq.org/git/wine.git/?a=commit;h=b4c3a041650b248a992e53b1f981d6a7c61e9365
Author: Juan Lang <juan.lang at gmail.com>
Date: Mon May 24 12:10:40 2010 -0700
ole32/tests: Test creating an IPropertySetStorage with an unknown format id.
---
dlls/ole32/tests/stg_prop.c | 56 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 56 insertions(+), 0 deletions(-)
diff --git a/dlls/ole32/tests/stg_prop.c b/dlls/ole32/tests/stg_prop.c
index 37e8e10..4e5fde7 100644
--- a/dlls/ole32/tests/stg_prop.c
+++ b/dlls/ole32/tests/stg_prop.c
@@ -59,6 +59,8 @@ static void testProps(void)
PROPVARIANT var;
CLIPDATA clipdata;
unsigned char clipcontent[] = "foobar";
+ GUID anyOldGuid = { 0x12345678,0xdead,0xbeef, {
+ 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07 } };
if(!GetTempFileNameW(szDot, szPrefix, 0, filename))
return;
@@ -290,6 +292,60 @@ static void testProps(void)
IStorage_Release(storage);
DeleteFileW(filename);
+
+ /* Test creating a property set storage with a random GUID */
+ hr = StgCreateDocfile(filename,
+ STGM_READWRITE | STGM_SHARE_EXCLUSIVE | STGM_CREATE, 0, &storage);
+ ok(hr == S_OK, "StgCreateDocfile failed: 0x%08x\n", hr);
+
+ if(!pStgCreatePropSetStg)
+ {
+ IStorage_Release(storage);
+ DeleteFileW(filename);
+ return;
+ }
+ hr = pStgCreatePropSetStg(storage, 0, &propSetStorage);
+ ok(hr == S_OK, "StgCreatePropSetStg failed: 0x%08x\n", hr);
+
+ hr = IPropertySetStorage_Create(propSetStorage,
+ &anyOldGuid, NULL, PROPSETFLAG_ANSI,
+ STGM_READWRITE | STGM_CREATE | STGM_SHARE_EXCLUSIVE,
+ &propertyStorage);
+ ok(hr == S_OK, "IPropertySetStorage_Create failed: 0x%08x\n", hr);
+
+ spec.ulKind = PRSPEC_PROPID;
+ U(spec).propid = PID_FIRST_USABLE;
+ U(var).lVal = 1;
+ hr = IPropertyStorage_WriteMultiple(propertyStorage, 1, &spec, &var, 0);
+ ok(hr == S_OK, "WriteMultiple failed: 0x%08x\n", hr);
+
+ IPropertyStorage_Release(propertyStorage);
+ IPropertySetStorage_Release(propSetStorage);
+ IStorage_Release(storage);
+
+ /* now open it again */
+ hr = StgOpenStorage(filename, NULL, STGM_READWRITE | STGM_SHARE_EXCLUSIVE,
+ NULL, 0, &storage);
+ ok(hr == S_OK, "StgOpenStorage failed: 0x%08x\n", hr);
+
+ hr = pStgCreatePropSetStg(storage, 0, &propSetStorage);
+ ok(hr == S_OK, "StgCreatePropSetStg failed: 0x%08x\n", hr);
+
+ hr = IPropertySetStorage_Open(propSetStorage, &anyOldGuid,
+ STGM_READWRITE | STGM_SHARE_EXCLUSIVE, &propertyStorage);
+ todo_wine
+ ok(hr == S_OK, "IPropertySetStorage_Open failed: 0x%08x\n", hr);
+
+ spec.ulKind = PRSPEC_PROPID;
+ U(spec).propid = PID_FIRST_USABLE;
+ hr = IPropertyStorage_ReadMultiple(propertyStorage, 1, &spec, &var);
+ ok(hr == S_FALSE, "ReadMultiple failed: 0x%08x\n", hr);
+
+ IPropertyStorage_Release(propertyStorage);
+ IPropertySetStorage_Release(propSetStorage);
+ IStorage_Release(storage);
+
+ DeleteFileW(filename);
}
static void testCodepage(void)
More information about the wine-cvs
mailing list