shell32/tests: Show that verbs and classes override ShellExecute()'s normal handling of executables.
Francois Gouget
fgouget at codeweavers.com
Wed Jan 27 08:41:19 CST 2016
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
dlls/shell32/tests/shlexec.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index ab8dea6..3c924f0 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -2196,6 +2196,20 @@ static void test_exes(void)
sprintf(filename, "\"%s\" shlexec \"%s\" Exec", argv0, child_file);
rc = shell_execute(NULL, filename, NULL, NULL);
okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+
+ /* A verb, even if invalid, overrides the normal handling of executables */
+ todo_wait rc = shell_execute_ex(SEE_MASK_FLAG_NO_UI,
+ "notaverb", argv0, NULL, NULL, NULL);
+ todo_wine okShell(rc == SE_ERR_NOASSOC, "returned %lu\n", rc);
+
+ /* A class overrides the normal handling of executables too */
+ /* FIXME SEE_MASK_FLAG_NO_UI is only needed due to Wine's bug */
+ rc = shell_execute_ex(SEE_MASK_CLASSNAME | SEE_MASK_FLAG_NO_UI,
+ NULL, argv0, NULL, NULL, ".shlexec");
+ todo_wine okShell(rc > 32, "returned %lu\n", rc);
+ okChildInt("argcA", 5);
+ todo_wine okChildString("argvA3", "Open");
+ todo_wine okChildPath("argvA4", argv0);
}
typedef struct
--
2.7.0.rc3
More information about the wine-patches
mailing list