2 * PROJECT: ReactOS api tests
3 * LICENSE: GPL - See COPYING in the top level directory
4 * PURPOSE: Test for _splitpath
5 * PROGRAMMER: Timo Kreuzer
14 #define ok_str(x, y) \
15 ok(strcmp(x, y) == 0, "got '%s', expected '%s'\n", x, y);
17 #define ok_int(x, y) \
18 ok(x == y, "got %d, expected %d\n", x, y);
27 _splitpath("c:\\dir1\\dir2\\file.ext", drive
, dir
, fname
, ext
);
29 ok_str(dir
, "\\dir1\\dir2\\");
30 ok_str(fname
, "file");
34 _splitpath("c:\\dir1\\dir2\\file.ext", 0, 0, 0, 0);
38 _splitpath(0, drive
, dir
, fname
, ext
);
39 ok_int(*_errno(), EINVAL
);
45 _splitpath("\\\\?\\c:\\dir1\\dir2\\file.ext", drive
, dir
, fname
, ext
);
47 ok_str(dir
, "\\dir1\\dir2\\");
48 ok_str(fname
, "file");
51 _splitpath("ab:\\dir1\\..\\file", drive
, dir
, fname
, ext
);
53 ok_str(dir
, "ab:\\dir1\\..\\");
54 ok_str(fname
, "file");
57 _splitpath("//?/c:/dir1/dir2/file.ext", drive
, dir
, fname
, ext
);
59 ok_str(dir
, "//?/c:/dir1/dir2/");
60 ok_str(fname
, "file");
63 _splitpath("\\\\?\\0:/dir1\\dir2/file.", drive
, dir
, fname
, ext
);
65 ok_str(dir
, "/dir1\\dir2/");
66 ok_str(fname
, "file");
69 _splitpath("\\\\.\\c:\\dir1\\dir2\\.ext.ext2", drive
, dir
, fname
, ext
);
71 ok_str(dir
, "\\\\.\\c:\\dir1\\dir2\\");
72 ok_str(fname
, ".ext");
75 _splitpath("\\??\\c:\\dir1\\dir2\\file. ~ ", drive
, dir
, fname
, ext
);
77 ok_str(dir
, "\\??\\c:\\dir1\\dir2\\");
78 ok_str(fname
, "file");
81 _splitpath("x: dir1\\/dir2 \\.blub", drive
, dir
, fname
, ext
);
83 ok_str(dir
, " dir1\\/dir2 \\");
87 _splitpath("/:\\dir1\\dir2\\file.ext", drive
, dir
, fname
, ext
);
89 ok_str(dir
, "\\dir1\\dir2\\");
90 ok_str(fname
, "file");