Zebediah Figura : regedit/tests: Add tests for importing Win 3.1 registry files.

Alexandre Julliard julliard at winehq.org
Mon Jan 30 15:39:18 CST 2017


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Sun Jan 29 22:09:28 2017 -0600

regedit/tests: Add tests for importing Win 3.1 registry files.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/regedit/tests/regedit.c | 56 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/programs/regedit/tests/regedit.c b/programs/regedit/tests/regedit.c
index dc49cad..f369b59 100644
--- a/programs/regedit/tests/regedit.c
+++ b/programs/regedit/tests/regedit.c
@@ -314,6 +314,61 @@ static void test_basic_import(void)
     ok(lr == ERROR_SUCCESS, "RegDeleteKeyA failed: %d\n", lr);
 }
 
+static void test_basic_import_31(void)
+{
+    HKEY hkey;
+    LONG lr;
+
+    lr = RegDeleteKeyA(HKEY_CLASSES_ROOT, KEY_BASE);
+    ok(lr == ERROR_SUCCESS || lr == ERROR_FILE_NOT_FOUND,
+            "RegDeleteKeyA failed: %d\n", lr);
+
+    /* Test simple value */
+    exec_import_str("REGEDIT\r\n"
+		    "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value0\r\n");
+    lr = RegOpenKeyExA(HKEY_CLASSES_ROOT, KEY_BASE, 0, KEY_READ, &hkey);
+    ok(lr == ERROR_SUCCESS, "RegOpenKeyExA failed: %d\n", lr);
+    verify_reg(hkey, "", REG_SZ, "Value0", 7, 0);
+
+    /* Test proper handling of spaces and equals signs */
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE " =Value1\r\n");
+    verify_reg(hkey, "", REG_SZ, "Value1", 7, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE " =  Value2\r\n");
+    verify_reg(hkey, "", REG_SZ, " Value2", 8, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE " = Value3 \r\n");
+    verify_reg(hkey, "", REG_SZ, "Value3 ", 8, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE " Value4\r\n");
+    verify_reg(hkey, "", REG_SZ, "Value4", 7, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE "  Value5\r\n");
+    verify_reg(hkey, "", REG_SZ, "Value5", 7, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE "\r\n");
+    verify_reg(hkey, "", REG_SZ, "", 1, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE "  \r\n");
+    verify_reg(hkey, "", REG_SZ, "", 1, 0);
+
+    exec_import_str("REGEDIT\r\n"
+                    "HKEY_CLASSES_ROOT\\" KEY_BASE " = No newline");
+    verify_reg(hkey, "", REG_SZ, "No newline", 11, TODO_REG_SIZE | TODO_REG_DATA);
+
+    RegCloseKey(hkey);
+
+    lr = RegDeleteKeyA(HKEY_CLASSES_ROOT, KEY_BASE);
+    ok(lr == ERROR_SUCCESS, "RegDeleteKeyA failed: %d\n", lr);
+}
+
 static void test_invalid_import(void)
 {
     LONG lr;
@@ -493,6 +548,7 @@ START_TEST(regedit)
     supports_wchar = exec_import_wstr(wchar_test);
 
     test_basic_import();
+    test_basic_import_31();
     test_invalid_import();
     test_comments();
 }




More information about the wine-cvs mailing list