ReactOS
0.4.16-dev-311-g9382aa2
PathIsUNC.c
Go to the documentation of this file.
1
/*
2
* Copyright 2017 Jared Smudde
3
*
4
* This library is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* This library is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with this library; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17
*/
18
19
/* Documentation: https://msdn.microsoft.com/en-us/library/windows/desktop/bb773712(v=vs.85).aspx */
20
21
#include <
apitest.h
>
22
#include <
shlwapi.h
>
23
24
#define DO_TEST(exp, str) \
25
do { \
26
BOOL ret = PathIsUNCW((str)); \
27
ok(ret == (exp), "Expected %s to be %d, was %d\n"
, wine_dbgstr_w((str)), (exp), ret); \
28
} while (0)
29
30
START_TEST
(isuncpath)
31
{
32
DO_TEST
(
TRUE
,
L
"\\\\path1\\path2"
);
33
DO_TEST
(
TRUE
,
L
"\\\\path1"
);
34
DO_TEST
(
FALSE
,
L
"reactos\\path4\\path5"
);
35
DO_TEST
(
TRUE
,
L
"\\\\"
);
36
DO_TEST
(
TRUE
,
L
"\\\\?\\UNC\\path1\\path2"
);
37
DO_TEST
(
TRUE
,
L
"\\\\?\\UNC\\path1"
);
38
DO_TEST
(
TRUE
,
L
"\\\\?\\UNC\\"
);
39
DO_TEST
(
FALSE
,
L
"\\path1"
);
40
DO_TEST
(
FALSE
,
L
"path1"
);
41
DO_TEST
(
FALSE
,
L
"c:\\path1"
);
42
43
/* MSDN says FALSE but the test shows TRUE on Windows 2003, but returns FALSE on Windows 7 */
44
DO_TEST
(
TRUE
,
L
"\\\\?\\c:\\path1"
);
45
46
DO_TEST
(
TRUE
,
L
"\\\\path1\\"
);
47
DO_TEST
(
FALSE
,
L
"//"
);
48
DO_TEST
(
FALSE
,
L
"////path1"
);
49
DO_TEST
(
FALSE
,
L
"////path1//path2"
);
50
DO_TEST
(
FALSE
,
L
"reactos//path3//path4"
);
51
DO_TEST
(
TRUE
,
L
"\\\\reactos\\?"
);
52
DO_TEST
(
TRUE
,
L
"\\\\reactos\\\\"
);
53
DO_TEST
(
FALSE
, (
wchar_t
*)
NULL
);
54
DO_TEST
(
FALSE
,
L
" "
);
55
56
/* The test shows TRUE on Windows 2003, but returns FALSE on Windows 7 */
57
DO_TEST
(
TRUE
,
L
"\\\\?\\"
);
58
}
DO_TEST
#define DO_TEST(exp, str)
Definition:
PathIsUNC.c:24
apitest.h
START_TEST
#define START_TEST(x)
Definition:
atltest.h:75
NULL
#define NULL
Definition:
types.h:112
TRUE
#define TRUE
Definition:
types.h:120
FALSE
#define FALSE
Definition:
types.h:117
L
#define L(x)
Definition:
ntvdm.h:50
shlwapi.h
modules
rostests
apitests
shlwapi
PathIsUNC.c
Generated on Tue Dec 3 2024 06:11:02 for ReactOS by
1.9.6