[PATCH 2/2] opcservices/tests: Use wide strings in test data.

Nikolay Sivov nsivov at codeweavers.com
Tue Mar 29 01:51:58 CDT 2022


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/opcservices/tests/opcservices.c | 187 ++++++++++-----------------
 1 file changed, 69 insertions(+), 118 deletions(-)

diff --git a/dlls/opcservices/tests/opcservices.c b/dlls/opcservices/tests/opcservices.c
index 871619430d4..3fa9c732e42 100644
--- a/dlls/opcservices/tests/opcservices.c
+++ b/dlls/opcservices/tests/opcservices.c
@@ -25,7 +25,6 @@
 #include "msopc.h"
 #include "urlmon.h"
 
-#include "wine/heap.h"
 #include "wine/test.h"
 
 static IOpcFactory *create_factory(void)
@@ -494,61 +493,47 @@ static void test_relationship(void)
     IOpcFactory_Release(factory);
 }
 
-static WCHAR *strdupAtoW(const char *str)
-{
-    WCHAR *ret = NULL;
-    DWORD len;
-
-    if (!str) return ret;
-    len = MultiByteToWideChar(CP_ACP, 0, str, -1, NULL, 0);
-    ret = heap_alloc(len * sizeof(WCHAR));
-    if (ret)
-        MultiByteToWideChar(CP_ACP, 0, str, -1, ret, len);
-    return ret;
-}
-
 static void test_rel_part_uri(void)
 {
     static const struct
     {
-        const char *uri;
-        const char *rel_uri;
+        const WCHAR *uri;
+        const WCHAR *rel_uri;
         HRESULT hr;
     } rel_part_uri_tests[] =
     {
-        { "/uri", "/_rels/uri.rels" },
-        { "/path/uri", "/path/_rels/uri.rels" },
-        { "path/uri", "/path/_rels/uri.rels" },
-        { "../path/uri", "/path/_rels/uri.rels" },
-        { "../../path/uri", "/path/_rels/uri.rels" },
-        { "/uri.ext", "/_rels/uri.ext.rels" },
-        { "/", "/_rels/.rels" },
-        { "uri", "/_rels/uri.rels" },
-        { "/path/../uri", "/_rels/uri.rels" },
-        { "/path/path/../../uri", "/_rels/uri.rels" },
-        { "/_rels/uri.ext.rels", "", OPC_E_NONCONFORMING_URI },
+        { L"/uri", L"/_rels/uri.rels" },
+        { L"/path/uri", L"/path/_rels/uri.rels" },
+        { L"path/uri", L"/path/_rels/uri.rels" },
+        { L"../path/uri", L"/path/_rels/uri.rels" },
+        { L"../../path/uri", L"/path/_rels/uri.rels" },
+        { L"/uri.ext", L"/_rels/uri.ext.rels" },
+        { L"/", L"/_rels/.rels" },
+        { L"uri", L"/_rels/uri.rels" },
+        { L"/path/../uri", L"/_rels/uri.rels" },
+        { L"/path/path/../../uri", L"/_rels/uri.rels" },
+        { L"/_rels/uri.ext.rels", L"", OPC_E_NONCONFORMING_URI },
     };
     static const struct
     {
-        const char *uri;
+        const WCHAR *uri;
         BOOL ret;
     } is_rel_part_tests[] =
     {
-        { "/uri", FALSE },
-        { "uri", FALSE },
-        { "/_rels/uri", FALSE },
-        { "/_rels/uri/uri", FALSE },
-        { "/_rels/uri/uri.rels", FALSE },
-        { "/uri/uri.rels", FALSE },
-        { "/uri/_rels/uri.rels", TRUE },
-        { "/_rels/.rels", TRUE },
+        { L"/uri", FALSE },
+        { L"uri", FALSE },
+        { L"/_rels/uri", FALSE },
+        { L"/_rels/uri/uri", FALSE },
+        { L"/_rels/uri/uri.rels", FALSE },
+        { L"/uri/uri.rels", FALSE },
+        { L"/uri/_rels/uri.rels", TRUE },
+        { L"/_rels/.rels", TRUE },
     };
     static const WCHAR testuriW[] = {'/','u','r','i',0};
     IOpcPartUri *part_uri;
     IOpcFactory *factory;
     IOpcUri *source_uri;
     unsigned int i;
-    WCHAR *uriW;
     HRESULT hr;
 
     factory = create_factory();
@@ -577,18 +562,14 @@ static void test_rel_part_uri(void)
         BOOL is_root = FALSE;
         IOpcPartUri *rel_uri;
         IOpcUri *part_uri;
-        WCHAR *rel_uriW;
 
-        uriW = strdupAtoW(rel_part_uri_tests[i].uri);
-        rel_uriW = strdupAtoW(rel_part_uri_tests[i].rel_uri);
-
-        if (!strcmp(rel_part_uri_tests[i].uri, "/"))
+        if (!wcscmp(rel_part_uri_tests[i].uri, L"/"))
         {
             hr = IOpcFactory_CreatePackageRootUri(factory, &part_uri);
             is_root = TRUE;
         }
         else
-            hr = IOpcFactory_CreatePartUri(factory, uriW, (IOpcPartUri **)&part_uri);
+            hr = IOpcFactory_CreatePartUri(factory, rel_part_uri_tests[i].uri, (IOpcPartUri **)&part_uri);
         ok(SUCCEEDED(hr), "Failed to create part uri, hr %#lx.\n", hr);
 
         rel_uri = (void *)0xdeadbeef;
@@ -621,7 +602,7 @@ static void test_rel_part_uri(void)
             ok(ret, "Expected equal uris.\n");
 
             hr = IOpcUri_QueryInterface(source_uri, &IID_IOpcPartUri, (void **)&unk);
-            ok(hr == (is_root ? E_NOINTERFACE : S_OK), "Unexpected hr %#lx, %s.\n", hr, rel_part_uri_tests[i].uri);
+            ok(hr == (is_root ? E_NOINTERFACE : S_OK), "Unexpected hr %#lx, %s.\n", hr, wine_dbgstr_w(rel_part_uri_tests[i].uri));
             if (unk)
                 IUnknown_Release(unk);
 
@@ -636,8 +617,8 @@ static void test_rel_part_uri(void)
             hr = IOpcPartUri_GetRawUri(rel_uri, &str);
             ok(SUCCEEDED(hr), "Failed to get rel uri, hr %#lx.\n", hr);
             todo_wine_if(i == 3 || i == 4 || i == 8 || i == 9)
-            ok(!lstrcmpW(str, rel_uriW), "%u: unexpected rel uri %s, expected %s.\n", i, wine_dbgstr_w(str),
-                    wine_dbgstr_w(rel_uriW));
+            ok(!lstrcmpW(str, rel_part_uri_tests[i].rel_uri), "%u: unexpected rel uri %s, expected %s.\n",
+                    i, wine_dbgstr_w(str), wine_dbgstr_w(rel_part_uri_tests[i].rel_uri));
             SysFreeString(str);
 
             IOpcPartUri_Release(rel_uri);
@@ -648,9 +629,6 @@ static void test_rel_part_uri(void)
             ok(rel_uri == NULL, "%u: unexpected out pointer.\n", i);
         }
 
-        heap_free(uriW);
-        heap_free(rel_uriW);
-
         IOpcUri_Release(part_uri);
     }
 
@@ -659,9 +637,7 @@ static void test_rel_part_uri(void)
         IOpcPartUri *part_uri;
         BOOL ret;
 
-        uriW = strdupAtoW(is_rel_part_tests[i].uri);
-
-        hr = IOpcFactory_CreatePartUri(factory, uriW, &part_uri);
+        hr = IOpcFactory_CreatePartUri(factory, is_rel_part_tests[i].uri, &part_uri);
         ok(SUCCEEDED(hr), "Failed to create part uri, hr %#lx.\n", hr);
 
         ret = 123;
@@ -669,8 +645,6 @@ static void test_rel_part_uri(void)
         ok(SUCCEEDED(hr), "Unexpected hr %#lx.\n", hr);
         ok(ret == is_rel_part_tests[i].ret, "%u: unexpected result %d.\n", i, ret);
 
-        heap_free(uriW);
-
         IOpcPartUri_Release(part_uri);
     }
 
@@ -1006,22 +980,22 @@ static void test_relative_uri(void)
 {
     static const struct
     {
-        const char *part;
-        const char *combined;
-        const char *relative;
-        const char *relative_broken;
+        const WCHAR *part;
+        const WCHAR *combined;
+        const WCHAR *relative;
+        const WCHAR *relative_broken;
     }
     relative_uri_tests[] =
     {
-        { "/", "/path/path2", "path/path2", "/path/path2" },
-        { "/", "/path", "path", "/path" },
-        { "/path/path2", "/path/path2/path3", "path2/path3" },
-        { "/path/path2", "/path3", "../path3" },
-        { "/path", "/path", "" },
-        { "/path", "../path", "" },
-        { "/path2", "/path", "path" },
-        { "../path", "/path", "" },
-        { "../../path", "/path", "" },
+        { L"/", L"/path/path2", L"path/path2", L"/path/path2" },
+        { L"/", L"/path", L"path", L"/path" },
+        { L"/path/path2", L"/path/path2/path3", L"path2/path3" },
+        { L"/path/path2", L"/path3", L"../path3" },
+        { L"/path", L"/path", L"" },
+        { L"/path", L"../path", L"" },
+        { L"/path2", L"/path", L"path" },
+        { L"../path", L"/path", L"" },
+        { L"../../path", L"/path", L"" },
     };
     IOpcFactory *factory;
     unsigned int i;
@@ -1030,7 +1004,7 @@ static void test_relative_uri(void)
 
     for (i = 0; i < ARRAY_SIZE(relative_uri_tests); ++i)
     {
-        WCHAR *uriW, *combinedW, *relativeW, *relative_broken_W;
+        const WCHAR *relative_broken;
         IOpcPartUri *combined_uri;
         IUri *relative_uri;
         IOpcUri *part_uri;
@@ -1038,18 +1012,15 @@ static void test_relative_uri(void)
         HRESULT hr;
         BSTR str;
 
-        uriW = strdupAtoW(relative_uri_tests[i].part);
-        combinedW = strdupAtoW(relative_uri_tests[i].combined);
-        relativeW = strdupAtoW(relative_uri_tests[i].relative);
-        relative_broken_W = strdupAtoW(relative_uri_tests[i].relative_broken);
+        relative_broken = relative_uri_tests[i].relative_broken;
 
-        if (!strcmp(relative_uri_tests[i].part, "/"))
+        if (!wcscmp(relative_uri_tests[i].part, L"/"))
             hr = IOpcFactory_CreatePackageRootUri(factory, &part_uri);
         else
-            hr = IOpcFactory_CreatePartUri(factory, uriW, (IOpcPartUri **)&part_uri);
+            hr = IOpcFactory_CreatePartUri(factory, relative_uri_tests[i].part, (IOpcPartUri **)&part_uri);
         ok(SUCCEEDED(hr), "%u: failed to create part uri, hr %#lx.\n", i, hr);
 
-        hr = IOpcFactory_CreatePartUri(factory, combinedW, &combined_uri);
+        hr = IOpcFactory_CreatePartUri(factory, relative_uri_tests[i].combined, &combined_uri);
         ok(SUCCEEDED(hr), "%u: failed to create part uri, hr %#lx.\n", i, hr);
 
         hr = IOpcUri_GetRelativeUri(part_uri, combined_uri, &relative_uri);
@@ -1063,7 +1034,7 @@ static void test_relative_uri(void)
 
         hr = IUri_GetRawUri(relative_uri, &str);
         ok(SUCCEEDED(hr), "%u: failed to get raw uri, hr %#lx.\n", i, hr);
-        ok(!lstrcmpW(str, relativeW) || broken(relative_broken_W && !lstrcmpW(str, relative_broken_W)),
+        ok(!lstrcmpW(str, relative_uri_tests[i].relative) || broken(relative_broken && !lstrcmpW(str, relative_broken)),
                 "%u: unexpected relative uri %s.\n", i, wine_dbgstr_w(str));
         SysFreeString(str);
 
@@ -1071,11 +1042,6 @@ static void test_relative_uri(void)
     }
         IOpcUri_Release(part_uri);
         IOpcPartUri_Release(combined_uri);
-
-        heap_free(uriW);
-        heap_free(combinedW);
-        heap_free(relativeW);
-        heap_free(relative_broken_W);
     }
 
     IOpcFactory_Release(factory);
@@ -1085,16 +1051,16 @@ static void test_combine_uri(void)
 {
     static const struct
     {
-        const char *uri;
-        const char *relative;
-        const char *combined;
+        const WCHAR *uri;
+        const WCHAR *relative;
+        const WCHAR *combined;
     }
     combine_tests[] =
     {
-        { "/", "path", "/path" },
-        { "/path1", "path2", "/path2" },
-        { "/path1", "../path2", "/path2" },
-        { "/path1/../path2", "path3", "/path3" },
+        { L"/", L"path", L"/path" },
+        { L"/path1", L"path2", L"/path2" },
+        { L"/path1", L"../path2", L"/path2" },
+        { L"/path1/../path2", L"path3", L"/path3" },
     };
     IOpcFactory *factory;
     unsigned int i;
@@ -1103,24 +1069,19 @@ static void test_combine_uri(void)
 
     for (i = 0; i < ARRAY_SIZE(combine_tests); ++i)
     {
-        WCHAR *uriW, *relativeW, *combinedW;
         IOpcPartUri *combined_uri;
         IUri *relative_uri;
         IOpcUri *uri;
         HRESULT hr;
         BSTR str;
 
-        uriW = strdupAtoW(combine_tests[i].uri);
-        relativeW = strdupAtoW(combine_tests[i].relative);
-        combinedW = strdupAtoW(combine_tests[i].combined);
-
-        if (!strcmp(combine_tests[i].uri, "/"))
+        if (!wcscmp(combine_tests[i].uri, L"/"))
             hr = IOpcFactory_CreatePackageRootUri(factory, &uri);
         else
-            hr = IOpcFactory_CreatePartUri(factory, uriW, (IOpcPartUri **)&uri);
+            hr = IOpcFactory_CreatePartUri(factory, combine_tests[i].uri, (IOpcPartUri **)&uri);
         ok(SUCCEEDED(hr), "%u: failed to create uri, hr %#lx.\n", i, hr);
 
-        hr = CreateUri(relativeW, Uri_CREATE_ALLOW_RELATIVE, 0, &relative_uri);
+        hr = CreateUri(combine_tests[i].relative, Uri_CREATE_ALLOW_RELATIVE, 0, &relative_uri);
         ok(SUCCEEDED(hr), "%u: failed to create relative uri, hr %#lx.\n", i, hr);
 
         combined_uri = (void *)0xdeadbeef;
@@ -1137,15 +1098,11 @@ static void test_combine_uri(void)
         hr = IOpcPartUri_GetRawUri(combined_uri, &str);
         ok(SUCCEEDED(hr), "%u: failed to get raw uri, hr %#lx.\n", i, hr);
         todo_wine_if(i == 2 || i == 3)
-        ok(!lstrcmpW(str, combinedW), "%u: unexpected uri %s.\n", i, wine_dbgstr_w(str));
+        ok(!lstrcmpW(str, combine_tests[i].combined), "%u: unexpected uri %s.\n", i, wine_dbgstr_w(str));
         SysFreeString(str);
 
         IOpcPartUri_Release(combined_uri);
 
-        heap_free(uriW);
-        heap_free(relativeW);
-        heap_free(combinedW);
-
         IOpcUri_Release(uri);
         IUri_Release(relative_uri);
     }
@@ -1157,16 +1114,16 @@ static void test_create_part_uri(void)
 {
     static const struct
     {
-        const char *input;
-        const char *raw_uri;
+        const WCHAR *input;
+        const WCHAR *raw_uri;
     }
     create_part_uri_tests[] =
     {
-        { "path", "/path" },
-        { "../path", "/path" },
-        { "../../path", "/path" },
-        { "/path", "/path" },
-        { "/path1/path2/path3/../path4", "/path1/path2/path4" },
+        { L"path", L"/path" },
+        { L"../path", L"/path" },
+        { L"../../path", L"/path" },
+        { L"/path", L"/path" },
+        { L"/path1/path2/path3/../path4", L"/path1/path2/path4" },
     };
     IOpcFactory *factory;
     unsigned int i;
@@ -1176,25 +1133,22 @@ static void test_create_part_uri(void)
 
     for (i = 0; i < ARRAY_SIZE(create_part_uri_tests); ++i)
     {
+        const WCHAR *raw_uri = create_part_uri_tests[i].raw_uri;
         IOpcPartUri *part_uri;
-        WCHAR *inputW, *rawW;
         IUri *uri;
         BSTR str;
         BOOL ret;
 
-        inputW = strdupAtoW(create_part_uri_tests[i].input);
-        rawW = strdupAtoW(create_part_uri_tests[i].raw_uri);
-
-        hr = IOpcFactory_CreatePartUri(factory, inputW, &part_uri);
+        hr = IOpcFactory_CreatePartUri(factory, create_part_uri_tests[i].input, &part_uri);
         ok(SUCCEEDED(hr), "%u: failed to create part uri, hr %#lx.\n", i, hr);
 
         hr = IOpcPartUri_GetRawUri(part_uri, &str);
         ok(SUCCEEDED(hr), "Failed to get raw uri, hr %#lx.\n", hr);
         todo_wine_if(i == 1 || i == 2 || i == 4)
-        ok(!lstrcmpW(str, rawW), "%u: unexpected raw uri %s.\n", i, wine_dbgstr_w(str));
+        ok(!lstrcmpW(str, raw_uri), "%u: unexpected raw uri %s.\n", i, wine_dbgstr_w(str));
         SysFreeString(str);
 
-        hr = CreateUri(rawW, Uri_CREATE_ALLOW_RELATIVE, 0, &uri);
+        hr = CreateUri(raw_uri, Uri_CREATE_ALLOW_RELATIVE, 0, &uri);
         ok(SUCCEEDED(hr), "Failed to create uri, hr %#lx.\n", hr);
 
         ret = FALSE;
@@ -1205,9 +1159,6 @@ static void test_create_part_uri(void)
 
         IOpcPartUri_Release(part_uri);
         IUri_Release(uri);
-
-        heap_free(inputW);
-        heap_free(rawW);
     }
 
     IOpcFactory_Release(factory);
-- 
2.35.1




More information about the wine-devel mailing list