Hugh McMaster : regedit/tests: Add tests for importing REG_BINARY data.
Module: wine Branch: master Commit: d37a49f362ac7feffa98ca6e117a0fc37dc7e546 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d37a49f362ac7feffa98ca6e11... Author: Hugh McMaster <hugh.mcmaster(a)outlook.com> Date: Wed May 17 12:24:22 2017 +0000 regedit/tests: Add tests for importing REG_BINARY data. Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- programs/regedit/tests/regedit.c | 49 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/programs/regedit/tests/regedit.c b/programs/regedit/tests/regedit.c index d75a131..d5c6524 100644 --- a/programs/regedit/tests/regedit.c +++ b/programs/regedit/tests/regedit.c @@ -189,6 +189,7 @@ static void test_basic_import(void) WCHAR wide_exp[] = {0x3041,'V','a','l','u','e',0}; LONG lr; char buffer[8]; + BYTE hex[8]; lr = RegDeleteKeyA(HKEY_CURRENT_USER, KEY_BASE); ok(lr == ERROR_SUCCESS || lr == ERROR_FILE_NOT_FOUND, @@ -318,7 +319,7 @@ static void test_basic_import(void) dword = 0x00000008; verify_reg(hkey, "single'quote", REG_DWORD, &dword, sizeof(dword), 0); - /* Test hex data concatenation for REG_NONE and REG_EXPAND_SZ */ + /* Test hex data concatenation for REG_NONE, REG_EXPAND_SZ and REG_BINARY */ exec_import_str("REGEDIT4\n\n" "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" "\"Wine10a\"=hex(0):56,00,61,00,6c,00,75,00,65,00,00,00\n" @@ -372,6 +373,28 @@ static void test_basic_import(void) todo_wine ok(size == 6 || broken(size == 5) /* WinXP */, "got wrong size %u, expected 6\n", size); todo_wine ok(memcmp(buffer, "%PATH", size) == 0, "got wrong data\n"); + exec_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" + "\"Wine12a\"=hex:11,22,33,44,55,66,77,88\n" + "\"Wine12b\"=hex:11,22,33,44,\\\n" + " 55,66,77,88\n" + "\"Wine12c\"=hex:11,22,33,44,\\;comment\n" + " 55,66,\\\n" + " 77,88\n" + "\"Wine12d\"=hex:11,22,33,44,\\;comment\n" + " 55,66,\n" + " 77,88\n" + "\"Wine12e\"=hex:11,22,33,44,\\;comment\n" + " 55,66,;comment\n" + " 77,88\n"); + hex[0] = 0x11; hex[1] = 0x22; hex[2] = 0x33; hex[3] = 0x44; + hex[4] = 0x55; hex[5] = 0x66; hex[6] = 0x77; hex[7] = 0x88; + verify_reg(hkey, "Wine12a", REG_BINARY, hex, sizeof(hex), 0); + verify_reg(hkey, "Wine12b", REG_BINARY, hex, sizeof(hex), 0); + todo_wine verify_reg(hkey, "Wine12c", REG_BINARY, hex, sizeof(hex), 0); + todo_wine verify_reg(hkey, "Wine12d", REG_BINARY, hex, 6, 0); + todo_wine verify_reg(hkey, "Wine12e", REG_BINARY, hex, 6, 0); + /* Test import with subkeys */ exec_import_str("REGEDIT4\n\n" "[HKEY_CURRENT_USER\\" KEY_BASE "\\Subkey\"1]\n" @@ -663,7 +686,7 @@ static void test_invalid_import(void) todo_wine verify_reg_nonexist(hkey, "Test18a"); todo_wine verify_reg_nonexist(hkey, "Test18b"); - /* Test hex data concatenation for REG_NONE and REG_EXPAND_SZ */ + /* Test hex data concatenation for REG_NONE, REG_EXPAND_SZ and REG_BINARY */ exec_import_str("REGEDIT4\n\n" "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" "\"Test19a\"=hex(0):56,00,61,00,6c,00\\\n" @@ -708,6 +731,28 @@ static void test_invalid_import(void) todo_wine verify_reg_nonexist(hkey, "Test20e"); verify_reg_nonexist(hkey, "Test20f"); + exec_import_str("REGEDIT4\n\n" + "[HKEY_CURRENT_USER\\" KEY_BASE "]\n" + "\"Test21a\"=hex:11,22,33,44\\\n" + ",55,66,77,88\n" + "\"Test21b\"=hex:11,22,33,44\\\n" + " ,55,66,77,88\n" + "\"Test21c\"=hex:11,22,33,44\\\n" + " 55,66,77,88\n" + "\"Test21d\"=hex:11,22,33,4\\\n" + "4,55,66,77,88\n" + "\"Test21e\"=hex:11,22,33,4\\\n" + " 4,55,66,77,88\n" + "\"Test21f\"=hex:11,22,33,\\;comment\n" + " 44,55,66,\\#comment\n" + " 77,88\n\n"); + todo_wine verify_reg_nonexist(hkey, "Test21a"); + todo_wine verify_reg_nonexist(hkey, "Test21b"); + verify_reg_nonexist(hkey, "Test21c"); + todo_wine verify_reg_nonexist(hkey, "Test21d"); + todo_wine verify_reg_nonexist(hkey, "Test21e"); + verify_reg_nonexist(hkey, "Test21f"); + RegCloseKey(hkey); lr = RegDeleteKeyA(HKEY_CURRENT_USER, KEY_BASE);
participants (1)
-
Alexandre Julliard