Module: wine Branch: master Commit: 47f506a1e1b50d56e4892912c1a89ef4a2cb584f URL: http://source.winehq.org/git/wine.git/?a=commit;h=47f506a1e1b50d56e4892912c1...
Author: Hugh McMaster hugh.mcmaster@outlook.com Date: Mon Apr 10 09:50:02 2017 +0000
reg/tests: Add tests for importing DWORD values.
Signed-off-by: Hugh McMaster hugh.mcmaster@outlook.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
programs/reg/tests/reg.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+)
diff --git a/programs/reg/tests/reg.c b/programs/reg/tests/reg.c index 90d4a46..9799815 100644 --- a/programs/reg/tests/reg.c +++ b/programs/reg/tests/reg.c @@ -1220,6 +1220,59 @@ static void test_import(void)
test_import_str("REGEDIT4\n\n" "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine32a"=dword:1\n" + ""Wine32b"=dword:4444\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x1; + todo_wine verify_reg(hkey, "Wine32a", REG_DWORD, &dword, sizeof(dword), 0); + dword = 0x4444; + todo_wine verify_reg(hkey, "Wine32b", REG_DWORD, &dword, sizeof(dword), 0); + + test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine33a"=dword:\n" + ""Wine33b"=dword:hello\n" + ""Wine33c"=dword:123456789\n" + ""Wine33d"=dword:012345678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine33a"); + todo_wine verify_reg_nonexist(hkey, "Wine33b"); + todo_wine verify_reg_nonexist(hkey, "Wine33c"); + todo_wine verify_reg_nonexist(hkey, "Wine33d"); + + test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine34a"=dword:12345678abc\n" + ""Wine34b"=dword:12345678 abc\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine34a"); + todo_wine verify_reg_nonexist(hkey, "Wine34b"); + + test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine35a"=dword:0x123\n" + ""Wine35b"=dword:123 456\n" + ""Wine35c"=dword:1234 5678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine35a"); + todo_wine verify_reg_nonexist(hkey, "Wine35b"); + todo_wine verify_reg_nonexist(hkey, "Wine35c"); + + test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine36a"=dword:1234;5678\n" + ""Wine36b"=dword:1234 ;5678\n" + ""Wine36c"=dword:1234#5678\n" + ""Wine36d"=dword:1234 #5678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x1234; + todo_wine verify_reg(hkey, "Wine36a", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg(hkey, "Wine36b", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg_nonexist(hkey, "Wine36c"); + todo_wine verify_reg_nonexist(hkey, "Wine36d"); + + test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" ""double\"quote"="valid \"or\" not"\n" ""single'quote"=dword:00000008\n\n", &r); todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); @@ -1589,6 +1642,59 @@ static void test_import(void)
test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine32a"=dword:1\n" + ""Wine32b"=dword:4444\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x1; + todo_wine verify_reg(hkey, "Wine32a", REG_DWORD, &dword, sizeof(dword), 0); + dword = 0x4444; + todo_wine verify_reg(hkey, "Wine32b", REG_DWORD, &dword, sizeof(dword), 0); + + test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine33a"=dword:\n" + ""Wine33b"=dword:hello\n" + ""Wine33c"=dword:123456789\n" + ""Wine33d"=dword:012345678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine33a"); + todo_wine verify_reg_nonexist(hkey, "Wine33b"); + todo_wine verify_reg_nonexist(hkey, "Wine33c"); + todo_wine verify_reg_nonexist(hkey, "Wine33d"); + + test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine34a"=dword:12345678abc\n" + ""Wine34b"=dword:12345678 abc\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine34a"); + todo_wine verify_reg_nonexist(hkey, "Wine34b"); + + test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine35a"=dword:0x123\n" + ""Wine35b"=dword:123 456\n" + ""Wine35c"=dword:1234 5678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + todo_wine verify_reg_nonexist(hkey, "Wine35a"); + todo_wine verify_reg_nonexist(hkey, "Wine35b"); + todo_wine verify_reg_nonexist(hkey, "Wine35c"); + + test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine36a"=dword:1234;5678\n" + ""Wine36b"=dword:1234 ;5678\n" + ""Wine36c"=dword:1234#5678\n" + ""Wine36d"=dword:1234 #5678\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x1234; + todo_wine verify_reg(hkey, "Wine36a", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg(hkey, "Wine36b", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg_nonexist(hkey, "Wine36c"); + todo_wine verify_reg_nonexist(hkey, "Wine36d"); + + test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" ""Multi-Line1"=hex(7):4c,00,69,00,6e,00,65,00,20,00,\\n" " 63,00,6f,00,6e,00,\;comment\n" " 63,00,61,00,74,00,\;comment\n" @@ -1822,6 +1928,15 @@ static void test_import_with_whitespace(void) todo_wine verify_reg(hkey, "Wine8a", REG_SZ, "Trailing spaces", 16, 0); todo_wine verify_reg(hkey, "Wine8b", REG_SZ, "Trailing tabs and spaces", 25, 0);
+ test_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine9a"=dword: 00000008\n" + ""Wine9b"=dword:\t\t00000008\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x00000008; + todo_wine verify_reg(hkey, "Wine9a", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg(hkey, "Wine9b", REG_DWORD, &dword, sizeof(dword), 0); + err = RegCloseKey(hkey); todo_wine ok(err == ERROR_SUCCESS, "RegCloseKey failed: got %d, expected 0\n", err);
@@ -1941,6 +2056,15 @@ static void test_import_with_whitespace(void) todo_wine verify_reg(hkey, "Wine8a", REG_SZ, "Trailing spaces", 16, 0); todo_wine verify_reg(hkey, "Wine8b", REG_SZ, "Trailing tabs and spaces", 25, 0);
+ test_import_wstr("\xef\xbb\xbfWindows Registry Editor Version 5.00\n\n" + "[HKEY_CURRENT_USER\" KEY_BASE "]\n" + ""Wine9a"=dword: 00000008\n" + ""Wine9b"=dword:\t\t00000008\n\n", &r); + todo_wine ok(r == REG_EXIT_SUCCESS, "got exit code %d, expected 0\n", r); + dword = 0x00000008; + todo_wine verify_reg(hkey, "Wine9a", REG_DWORD, &dword, sizeof(dword), 0); + todo_wine verify_reg(hkey, "Wine9b", REG_DWORD, &dword, sizeof(dword), 0); + err = RegCloseKey(hkey); todo_wine ok(err == ERROR_SUCCESS, "RegCloseKey failed: got %d, expected 0\n", err);