shell32/tests: Add a few more ShellExecute() file URL tests.
Francois Gouget
fgouget at codeweavers.com
Mon Sep 24 06:07:15 CDT 2012
---
dlls/shell32/tests/shlexec.c | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index 6c16766..bb23f1f 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -1323,22 +1323,30 @@ typedef struct
static fileurl_tests_t fileurl_tests[]=
{
- {"file:///", "%s\\nonexistent.shlexec", 0, 0x1},
+ /* How many slashes does it take... */
+ {"file:", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file:/", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file://", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file:///", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"File:///", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
- {"file:///", "%s\\test file.shlexec", URL_SUCCESS | USE_COLON, 0x1},
- {"file:///", "%s\\test file.shlexec", URL_SUCCESS | USE_BSLASH, 0x1},
{"file:////", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file://///", "%s\\test file.shlexec", 0, 0x1},
+
+ /* Test with Windows-style paths */
+ {"file:///", "%s\\test file.shlexec", URL_SUCCESS | USE_COLON, 0x1},
+ {"file:///", "%s\\test file.shlexec", URL_SUCCESS | USE_BSLASH, 0x1},
+
+ /* Check handling of hostnames */
{"file://localhost/", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file://localhost:80/", "%s\\test file.shlexec", 0, 0x1},
{"file://LocalHost/", "%s\\test file.shlexec", URL_SUCCESS, 0x1},
{"file://127.0.0.1/", "%s\\test file.shlexec", 0, 0x1},
{"file://::1/", "%s\\test file.shlexec", 0, 0x1},
{"file://notahost/", "%s\\test file.shlexec", 0, 0x1},
- {"file://www.winehq.org/", "%s\\test file.shlexec", 0, 0x1},
+
+ /* Environment variables are not expanded in URLs */
+ {"%urlprefix%", "%s\\test file.shlexec", 0, 0x1},
+ {"file:///", "%s\\%%urlenvvar%% file.shlexec", 0, 0x1},
{NULL, NULL, 0, 0}
};
@@ -1359,6 +1367,8 @@ static void test_fileurl(void)
}
get_long_path_name(tmpdir, longtmpdir, sizeof(longtmpdir)/sizeof(*longtmpdir));
+ SetEnvironmentVariable("urlprefix", "file:///");
+ SetEnvironmentVariable("urlenvvar", "test");
test=fileurl_tests;
while (test->basename)
@@ -1425,6 +1435,9 @@ static void test_fileurl(void)
}
test++;
}
+
+ SetEnvironmentVariable("urlprefix", NULL);
+ SetEnvironmentVariable("urlenvvar", NULL);
}
static void test_find_executable(void)
--
1.7.10.4
More information about the wine-patches
mailing list