James Hawkins : shlwapi: Add tests for PathFindExtensionA.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jun 30 14:15:09 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: ad064915c957dd89e322bfe868c3b4c0d0c8e70a
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=ad064915c957dd89e322bfe868c3b4c0d0c8e70a
Author: James Hawkins <truiken at gmail.com>
Date: Thu Jun 29 13:33:18 2006 -0700
shlwapi: Add tests for PathFindExtensionA.
---
dlls/shlwapi/tests/path.c | 67 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 67 insertions(+), 0 deletions(-)
diff --git a/dlls/shlwapi/tests/path.c b/dlls/shlwapi/tests/path.c
index 49d378a..183c936 100644
--- a/dlls/shlwapi/tests/path.c
+++ b/dlls/shlwapi/tests/path.c
@@ -1419,6 +1419,72 @@ static void test_PathCanonicalizeA(void)
ok(lstrlen(too_long) == LONG_LEN - 1, "Expected length LONG_LEN - 1, got %i\n", lstrlen(too_long));
}
+static void test_PathFindExtensionA(void)
+{
+ LPSTR ext;
+ char path[MAX_PATH];
+ char too_long[LONG_LEN];
+
+ /* try a NULL path */
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(NULL);
+ ok(ext == NULL, "Expected NULL, got %p\n", ext);
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try an empty path */
+ path[0] = '\0';
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(path);
+ ok(ext == path, "Expected ext == path, got %p\n", ext);
+ ok(lstrlen(ext) == 0, "Expected length 0, got %i\n", lstrlen(ext));
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try a path without an extension */
+ lstrcpy(path, "file");
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(path);
+ ok(ext == path + lstrlen(path), "Expected ext == path, got %p\n", ext);
+ ok(lstrlen(ext) == 0, "Expected length 0, got %i\n", lstrlen(ext));
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try a path with an extension */
+ lstrcpy(path, "file.txt");
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(path);
+ ok(ext == path + lstrlen("file"),
+ "Expected ext == path + lstrlen(\"file\"), got %p\n", ext);
+ ok(!lstrcmp(ext, ".txt"), "Expected .txt, got %s\n", ext);
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try a path with two extensions */
+ lstrcpy(path, "file.txt.doc");
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(path);
+ ok(ext == path + lstrlen("file.txt"),
+ "Expected ext == path + lstrlen(\"file.txt\"), got %p\n", ext);
+ ok(!lstrcmp(ext, ".doc"), "Expected .txt, got %s\n", ext);
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try a path longer than MAX_PATH without an extension*/
+ memset(too_long, 'a', LONG_LEN);
+ too_long[LONG_LEN - 1] = '\0';
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(too_long);
+ ok(ext == too_long + LONG_LEN - 1, "Expected ext == too_long + LONG_LEN - 1, got %p\n", ext);
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+
+ /* try a path longer than MAX_PATH with an extension*/
+ memset(too_long, 'a', LONG_LEN);
+ too_long[LONG_LEN - 1] = '\0';
+ lstrcpy(too_long + 300, ".abcde");
+ too_long[lstrlen(too_long)] = 'a';
+ SetLastError(0xdeadbeef);
+ ext = PathFindExtensionA(too_long);
+ ok(ext == too_long + 300, "Expected ext == too_long + 300, got %p\n", ext);
+ ok(lstrlen(ext) == LONG_LEN - 301, "Expected LONG_LEN - 301, got %i\n", lstrlen(ext));
+ ok(GetLastError() == 0xdeadbeef, "Expected 0xdeadbeef, got %ld\n", GetLastError());
+}
+
START_TEST(path)
{
hShlwapi = LoadLibraryA("shlwapi.dll");
@@ -1460,4 +1526,5 @@ START_TEST(path)
test_PathCombineA();
test_PathAppendA();
test_PathCanonicalizeA();
+ test_PathFindExtensionA();
}
More information about the wine-cvs
mailing list