Hugh McMaster : reg/tests: Test whether registry keys ending with trailing backslashes are imported and created.

Alexandre Julliard julliard at winehq.org
Tue Jul 4 15:25:57 CDT 2017


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

Author: Hugh McMaster <hugh.mcmaster at outlook.com>
Date:   Tue Jul  4 12:45:34 2017 +0000

reg/tests: Test whether registry keys ending with trailing backslashes are imported and created.

Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/reg/tests/reg.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 84 insertions(+)

diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c
index 316a3f6..0c17f37 100644
--- a/programs/reg/tests/reg.c
+++ b/programs/reg/tests/reg.c
@@ -1645,6 +1645,48 @@ static void test_import(void)
     err = RegDeleteKeyA(hkey, "Subkey1d\t");
     todo_wine ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err);
 
+    test_import_str("REGEDIT4\n\n"
+                    "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n"
+                    "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1e\\");
+    todo_wine verify_key(hkey, "Subkey1e");
+    err = RegOpenKeyExA(hkey, "Subkey1e", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1e");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
+    test_import_str("REGEDIT4\n\n"
+                    "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n"
+                    "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1f\\\\");
+    todo_wine verify_key(hkey, "Subkey1f\\");
+    todo_wine verify_key(hkey, "Subkey1f");
+    err = RegOpenKeyExA(hkey, "Subkey1f\\\\", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1f\\\\");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
+    test_import_str("REGEDIT4\n\n"
+                    "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n"
+                    "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1g\\\\\\\\");
+    todo_wine verify_key(hkey, "Subkey1g\\\\");
+    todo_wine verify_key(hkey, "Subkey1g\\");
+    todo_wine verify_key(hkey, "Subkey1g");
+    err = RegOpenKeyExA(hkey, "Subkey1g\\\\", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1g\\\\");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
     /* Test key deletion. We start by creating some registry keys. */
     test_import_str("REGEDIT4\n\n"
                     "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"
@@ -2936,6 +2978,48 @@ static void test_unicode_import(void)
     todo_wine err = RegDeleteKeyA(hkey, "Subkey1d\t");
     todo_wine ok(err == ERROR_SUCCESS, "got %d, expected 0\n", err);
 
+    test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n"
+                     "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1e\\]\n"
+                     "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1e\\");
+    todo_wine verify_key(hkey, "Subkey1e");
+    err = RegOpenKeyExA(hkey, "Subkey1e", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1e");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
+    test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n"
+                     "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1f\\\\]\n"
+                     "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1f\\\\");
+    todo_wine verify_key(hkey, "Subkey1f\\");
+    todo_wine verify_key(hkey, "Subkey1f");
+    err = RegOpenKeyExA(hkey, "Subkey1f\\\\", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1f\\\\");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
+    test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n"
+                     "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey1g\\\\\\\\]\n"
+                     "\"Wine\"=\"Test value\"\n\n", &r);
+    todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r);
+    todo_wine verify_key(hkey, "Subkey1g\\\\\\\\");
+    todo_wine verify_key(hkey, "Subkey1g\\\\");
+    todo_wine verify_key(hkey, "Subkey1g\\");
+    todo_wine verify_key(hkey, "Subkey1g");
+    err = RegOpenKeyExA(hkey, "Subkey1g\\\\", 0, KEY_READ, &subkey);
+    todo_wine ok(err == ERROR_SUCCESS, "RegOpenKeyExA failed: got %u, expected 0\n", err);
+    todo_wine verify_reg(subkey, "Wine", REG_SZ, "Test value", 11, 0);
+    RegCloseKey(subkey);
+    err = RegDeleteKeyA(hkey, "Subkey1g\\\\");
+    todo_wine ok(err == ERROR_SUCCESS, "RegDeleteKeyA failed: got %u, expected 0\n", err);
+
     /* Test key deletion. We start by creating some registry keys. */
     test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n"
                      "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey2a]\n\n"




More information about the wine-cvs mailing list