Module: wine Branch: master Commit: 90124d54e6a81a568dd698506af8101db24c315f URL: https://gitlab.winehq.org/wine/wine/-/commit/90124d54e6a81a568dd698506af8101...
Author: Zhiyi Zhang zzhang@codeweavers.com Date: Tue May 9 11:20:44 2023 +0800
oledb32/tests: Test converting DBTYPE_VARIANT to DBTYPE_GUID.
---
dlls/oledb32/tests/convert.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+)
diff --git a/dlls/oledb32/tests/convert.c b/dlls/oledb32/tests/convert.c index 2d5f898e0df..019e8c96d93 100644 --- a/dlls/oledb32/tests/convert.c +++ b/dlls/oledb32/tests/convert.c @@ -2680,6 +2680,33 @@ static void test_converttoguid(void) ok(hr == S_OK, "got %08lx\n", hr); ok(dst_status == DBSTATUS_S_ISNULL, "got %08lx\n", dst_status); ok(dst_len == 44, "got %Id\n", dst_len); + + dst_len = 0x1234; + dst = IID_IDCInfo; + V_VT(&v) = VT_BSTR; + V_BSTR(&v) = SysAllocStringLen(L"{0c733a8d-2a1c-11ce-ade5-00aa0044773d}", 38); + hr = IDataConvert_DataConvert(convert, DBTYPE_VARIANT, DBTYPE_GUID, 0, &dst_len, &v, &dst, sizeof(dst), 0, &dst_status, 0, 0, 0); + todo_wine + ok(hr == S_OK, "got %08lx\n", hr); + todo_wine + ok(dst_status == DBSTATUS_S_OK, "got %08lx\n", dst_status); + todo_wine + ok(dst_len == sizeof(GUID), "got %Id\n", dst_len); + todo_wine + ok(IsEqualGUID(&dst, &IID_IDataConvert), "didn't get IID_IDataConvert\n"); + SysFreeString(V_BSTR(&v)); + + dst_len = 0x1234; + V_VT(&v) = VT_BSTR; + V_BSTR(&v) = SysAllocStringLen(L"{invalid0-0000-0000-0000-000000000000}", 38); + hr = IDataConvert_DataConvert(convert, DBTYPE_VARIANT, DBTYPE_GUID, 0, &dst_len, &v, &dst, sizeof(dst), 0, &dst_status, 0, 0, 0); + todo_wine + ok(hr == CO_E_CLASSSTRING, "got %08lx\n", hr); + todo_wine + ok(dst_status == DBSTATUS_E_CANTCONVERTVALUE, "got %08lx\n", dst_status); + todo_wine + ok(dst_len == sizeof(GUID), "got %Id\n", dst_len); + SysFreeString(V_BSTR(&v)); }
static void test_converttofiletime(void)