[1/3] taskschd/tests: Add some tests for task registration info. Take 2.

Dmitry Timoshkov dmitry at baikal.ru
Fri Apr 11 03:01:16 CDT 2014


Thanks Nikolay.
---
 dlls/taskschd/tests/scheduler.c | 73 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 72 insertions(+), 1 deletion(-)

diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index 6751f62..c3c3e68 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -1258,6 +1258,7 @@ static void test_TaskDefinition(void)
         "    </Exec>\n"
         "  </Actions>\n"
         "</Task>\n";
+    static WCHAR Task1[] = { '"','T','a','s','k','1','"',0 };
     static struct settings def_settings = { { 0 }, { 'P','T','7','2','H',0 }, { 0 },
         0, 7, TASK_INSTANCES_IGNORE_NEW, TASK_COMPATIBILITY_V2, VARIANT_TRUE, VARIANT_TRUE,
         VARIANT_TRUE, VARIANT_TRUE, VARIANT_FALSE, VARIANT_FALSE, VARIANT_TRUE, VARIANT_FALSE,
@@ -1269,7 +1270,9 @@ static void test_TaskDefinition(void)
     HRESULT hr;
     ITaskService *service;
     ITaskDefinition *taskdef;
-    BSTR xml;
+    IRegistrationInfo *reginfo;
+    BSTR xml, bstr;
+    VARIANT var;
     WCHAR xmlW[sizeof(xml1)];
 
     hr = CoCreateInstance(&CLSID_TaskScheduler, NULL, CLSCTX_INPROC_SERVER, &IID_ITaskService, (void **)&service);
@@ -1341,6 +1344,74 @@ todo_wine
     hr = ITaskDefinition_put_XmlText(taskdef, xmlW);
     ok(hr == SCHED_E_MALFORMEDXML, "expected SCHED_E_MALFORMEDXML, got %#x\n", hr);
 
+    /* test registration info */
+    MultiByteToWideChar(CP_ACP, 0, xml1, -1, xmlW, sizeof(xmlW)/sizeof(xmlW[0]));
+    hr = ITaskDefinition_put_XmlText(taskdef, xmlW);
+    ok(hr == S_OK, "put_XmlText error %#x\n", hr);
+    hr = ITaskDefinition_get_RegistrationInfo(taskdef, &reginfo);
+    ok(hr == S_OK, "get_RegistrationInfo error %#x\n", hr);
+
+    hr = IRegistrationInfo_get_Description(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Description error %#x\n", hr);
+if (hr == S_OK)
+{
+    ok(!lstrcmpW(bstr, Task1), "expected Task1, got %s\n", wine_dbgstr_w(bstr));
+    SysFreeString(bstr);
+}
+    hr = IRegistrationInfo_get_Author(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Author error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    hr = IRegistrationInfo_get_Version(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Version error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    hr = IRegistrationInfo_get_Date(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Date error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    hr = IRegistrationInfo_get_Documentation(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Documentation error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    hr = IRegistrationInfo_get_URI(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_URI error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    hr = IRegistrationInfo_get_Source(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Source error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+    V_VT(&var) = VT_BSTR;
+    V_BSTR(&var) = NULL;
+    hr = IRegistrationInfo_get_SecurityDescriptor(reginfo, &var);
+todo_wine
+    ok(hr == S_OK, "get_SecurityDescriptor error %#x\n", hr);
+if (hr == S_OK)
+    ok(V_VT(&var) == VT_EMPTY, "expected VT_EMPTY, got %u\n", V_VT(&var));
+
+    IRegistrationInfo_Release(reginfo);
+
+    MultiByteToWideChar(CP_ACP, 0, xml4, -1, xmlW, sizeof(xmlW)/sizeof(xmlW[0]));
+    hr = ITaskDefinition_put_XmlText(taskdef, xmlW);
+    ok(hr == S_OK, "put_XmlText error %#x\n", hr);
+    hr = ITaskDefinition_get_RegistrationInfo(taskdef, &reginfo);
+    ok(hr == S_OK, "get_RegistrationInfo error %#x\n", hr);
+
+    hr = IRegistrationInfo_get_Description(reginfo, &bstr);
+todo_wine
+    ok(hr == S_OK, "get_Description error %#x\n", hr);
+if (hr == S_OK)
+    ok(!bstr, "expected NULL, got %s\n", wine_dbgstr_w(bstr));
+
+    IRegistrationInfo_Release(reginfo);
     ITaskDefinition_Release(taskdef);
     ITaskService_Release(service);
 }
-- 
1.9.2




More information about the wine-patches mailing list