2 * Unit tests for SetupPromptForDisk
4 * Copyright 2014 Michael Müller
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
31 #include "wine/test.h"
33 static void test_SetupPromptForDiskA(void)
36 char buffer
[MAX_PATH
];
40 GetSystemDirectoryA(path
, MAX_PATH
);
42 memset(buffer
, 0, sizeof(buffer
));
43 ret
= SetupPromptForDiskA(0, "Test", "Testdisk", path
, "kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, sizeof(buffer
) - 1, &length
);
44 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %u\n", ret
);
45 ok(length
== strlen(path
) + 1, "Expect length %u, got %lu\n", lstrlenA(path
) + 1, length
);
46 ok(!strcmp(path
, buffer
), "Expected path %s, got %s\n", debugstr_a(path
), debugstr_a(buffer
));
48 memset(buffer
, 0, sizeof(buffer
));
49 ret
= SetupPromptForDiskA(0, "Test", "Testdisk", path
, "kernel32.dll", NULL
, IDF_CHECKFIRST
, NULL
, 0, &length
);
50 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %d\n", ret
);
51 ok(length
== strlen(path
) + 1, "Expect length %u, got %lu\n", lstrlenA(path
) + 1, length
);
53 memset(buffer
, 0, sizeof(buffer
));
54 ret
= SetupPromptForDiskA(0, "Test", "Testdisk", path
, "kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, 1, &length
);
55 ok(ret
== DPROMPT_BUFFERTOOSMALL
, "Expected DPROMPT_BUFFERTOOSMALL, got %u\n", ret
);
57 memset(buffer
, 0, sizeof(buffer
));
58 ret
= SetupPromptForDiskA(0, "Test", "Testdisk", path
, "kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, strlen(path
), &length
);
59 ok(ret
== DPROMPT_BUFFERTOOSMALL
, "Expected DPROMPT_BUFFERTOOSMALL, got %u\n", ret
);
61 memset(buffer
, 0, sizeof(buffer
));
62 ret
= SetupPromptForDiskA(0, "Test", "Testdisk", path
, "kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, strlen(path
) + 1, &length
);
63 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %u\n", ret
);
64 ok(length
== strlen(path
) + 1, "Expect length %u, got %lu\n", lstrlenA(path
) + 1, length
);
65 ok(!strcmp(path
, buffer
), "Expected path %s, got %s\n", debugstr_a(path
), debugstr_a(buffer
));
68 static void test_SetupPromptForDiskW(void)
71 WCHAR buffer
[MAX_PATH
];
75 GetSystemDirectoryW(path
, MAX_PATH
);
77 memset(buffer
, 0, sizeof(buffer
));
78 ret
= SetupPromptForDiskW(0, L
"Test", L
"Testdisk", path
, L
"kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, ARRAY_SIZE(buffer
) - 1, &length
);
79 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %u\n", ret
);
80 ok(length
== lstrlenW(path
) + 1, "Expect length %u, got %lu\n", lstrlenW(path
) + 1, length
);
81 ok(!lstrcmpW(path
, buffer
), "Expected path %s, got %s\n", debugstr_w(path
), debugstr_w(buffer
));
83 memset(buffer
, 0, sizeof(buffer
));
84 ret
= SetupPromptForDiskW(0, L
"Test", L
"Testdisk", path
, L
"kernel32.dll", NULL
, IDF_CHECKFIRST
, NULL
, 0, &length
);
85 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %d\n", ret
);
86 ok(length
== lstrlenW(path
) + 1, "Expect length %u, got %lu\n", lstrlenW(path
) + 1, length
);
88 memset(buffer
, 0, sizeof(buffer
));
89 ret
= SetupPromptForDiskW(0, L
"Test", L
"Testdisk", path
, L
"kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, 1, &length
);
90 ok(ret
== DPROMPT_BUFFERTOOSMALL
, "Expected DPROMPT_BUFFERTOOSMALL, got %u\n", ret
);
92 memset(buffer
, 0, sizeof(buffer
));
93 ret
= SetupPromptForDiskW(0, L
"Test", L
"Testdisk", path
, L
"kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, lstrlenW(path
), &length
);
94 ok(ret
== DPROMPT_BUFFERTOOSMALL
, "Expected DPROMPT_BUFFERTOOSMALL, got %u\n", ret
);
96 memset(buffer
, 0, sizeof(buffer
));
97 ret
= SetupPromptForDiskW(0, L
"Test", L
"Testdisk", path
, L
"kernel32.dll", NULL
, IDF_CHECKFIRST
, buffer
, lstrlenW(path
) + 1, &length
);
98 ok(ret
== DPROMPT_SUCCESS
, "Expected DPROMPT_SUCCESS, got %u\n", ret
);
99 ok(length
== lstrlenW(path
) + 1, "Expect length %u, got %lu\n", lstrlenW(path
) + 1, length
);
100 ok(!lstrcmpW(path
, buffer
), "Expected path %s, got %s\n", debugstr_w(path
), debugstr_w(buffer
));
105 test_SetupPromptForDiskA();
106 test_SetupPromptForDiskW();