1
1
#[ test]
2
2
fn component_is_windows_device ( ) {
3
- for device in [ "con" , "CONIN$" , "lpt1.txt" , "AUX" , "Prn" , "NUL" , "COM9" ] {
3
+ for device in [ "con" , "CONIN$" , "lpt1.txt" , "AUX" , "Prn" , "NUL" , "COM9" , "nul.a.b " ] {
4
4
assert ! ( gix_validate:: path:: component_is_windows_device( device. into( ) ) ) ;
5
5
}
6
- for not_device in [ "coni" , "CONIN" , "lpt" , "AUXi" , "aPrn" , "NULl" , "COM" ] {
6
+ for not_device in [ "coni" , "CONIN" , "lpt" , "AUXi" , "aPrn" , "NULl" , "COM" , "a.nul.b " ] {
7
7
assert ! ( !gix_validate:: path:: component_is_windows_device( not_device. into( ) ) ) ;
8
8
}
9
9
}
@@ -53,10 +53,10 @@ mod component {
53
53
54
54
mktest ! ( ascii, b"ascii-only_and-that" ) ;
55
55
mktest ! ( unicode, "😁👍👌" . as_bytes( ) ) ;
56
- mktest ! ( backslashes_on_unix, b" \ \ ", UNIX_OPTS ) ;
56
+ mktest ! ( backslashes_on_unix, br" \", UNIX_OPTS ) ;
57
57
mktest ! ( drive_letters_on_unix, b"c:" , UNIX_OPTS ) ;
58
58
mktest ! ( virtual_drive_letters_on_unix, "֍:" . as_bytes( ) , UNIX_OPTS ) ;
59
- mktest ! ( unc_path_on_unix, b "\\ \\ ? \ \ pictures", UNIX_OPTS ) ;
59
+ mktest ! ( unc_path_on_unix, br "\\? \pictures", UNIX_OPTS ) ;
60
60
mktest ! ( not_dot_git_longer, b".gitu" , NO_OPTS ) ;
61
61
mktest ! ( not_dot_git_longer_all, b".gitu" ) ;
62
62
mktest ! ( not_dot_gitmodules_shorter, b".gitmodule" , Symlink , NO_OPTS ) ;
@@ -66,7 +66,7 @@ mod component {
66
66
mktest ! ( dot_gitmodules_as_file, b".gitmodules" , UNIX_OPTS ) ;
67
67
mktest ! (
68
68
starts_with_dot_git_with_backslashes_on_linux,
69
- b ".git\\ hooks\ \ pre-commit",
69
+ br ".git\hooks\pre-commit",
70
70
UNIX_OPTS
71
71
) ;
72
72
mktest ! ( not_dot_git_shorter, b".gi" , NO_OPTS ) ;
@@ -82,6 +82,9 @@ mod component {
82
82
mktest ! ( conin_without_dollar, b"conin" ) ;
83
83
mktest ! ( not_con, b"com" ) ;
84
84
mktest ! ( also_not_con, b"co" ) ;
85
+ mktest ! ( con_as_middle, b"x.CON.zip" ) ;
86
+ mktest ! ( con_after_space, b" CON" ) ;
87
+ mktest ! ( con_after_space_mixed, b" coN.tar.xz" ) ;
85
88
mktest ! ( not_nul, b"null" ) ;
86
89
mktest ! (
87
90
not_dot_gitmodules_shorter_hfs,
@@ -136,7 +139,7 @@ mod component {
136
139
mktest ! ( dot_git_upper, b".GIT" , Error :: DotGitDir , NO_OPTS ) ;
137
140
mktest ! (
138
141
starts_with_dot_git_with_backslashes_on_windows,
139
- b ".git\\ hooks\ \ pre-commit",
142
+ br ".git\hooks\pre-commit",
140
143
Error :: PathSeparator
141
144
) ;
142
145
mktest ! ( dot_git_upper_hfs, ".GIT\u{200e} " . as_bytes( ) , Error :: DotGitDir ) ;
@@ -225,10 +228,10 @@ mod component {
225
228
mktest ! ( path_separator_slash_trailing, b"a/" , Error :: PathSeparator ) ;
226
229
mktest ! ( path_separator_slash_only, b"/" , Error :: PathSeparator ) ;
227
230
mktest ! ( slashes_on_windows, b"/" , Error :: PathSeparator , ALL_OPTS ) ;
228
- mktest ! ( backslashes_on_windows, b" \ \ ", Error :: PathSeparator , ALL_OPTS ) ;
229
- mktest ! ( path_separator_backslash_between, b"a \ \ b", Error :: PathSeparator ) ;
230
- mktest ! ( path_separator_backslash_leading, b" \ \ a", Error :: PathSeparator ) ;
231
- mktest ! ( path_separator_backslash_trailing, b"a \ \ ", Error :: PathSeparator ) ;
231
+ mktest ! ( backslashes_on_windows, br" \", Error :: PathSeparator , ALL_OPTS ) ;
232
+ mktest ! ( path_separator_backslash_between, br"a \b", Error :: PathSeparator ) ;
233
+ mktest ! ( path_separator_backslash_leading, br" \a", Error :: PathSeparator ) ;
234
+ mktest ! ( path_separator_backslash_trailing, br"a \", Error :: PathSeparator ) ;
232
235
mktest ! ( aux_mixed, b"Aux" , Error :: WindowsReservedName ) ;
233
236
mktest ! ( aux_with_extension, b"aux.c" , Error :: WindowsReservedName ) ;
234
237
mktest ! ( com_lower, b"com1" , Error :: WindowsReservedName ) ;
@@ -248,6 +251,8 @@ mod component {
248
251
mktest ! ( prn_mixed_with_extension, b"PrN.abc" , Error :: WindowsReservedName ) ;
249
252
mktest ! ( con, b"CON" , Error :: WindowsReservedName ) ;
250
253
mktest ! ( con_with_extension, b"CON.abc" , Error :: WindowsReservedName ) ;
254
+ mktest ! ( con_with_middle, b"CON.tar.xz" , Error :: WindowsReservedName ) ;
255
+ mktest ! ( con_mixed_with_middle, b"coN.tar.xz " , Error :: WindowsReservedName ) ;
251
256
mktest ! (
252
257
conout_mixed_with_extension,
253
258
b"ConOut$ .xyz" ,
@@ -261,7 +266,10 @@ mod component {
261
266
Error :: WindowsPathPrefix ,
262
267
ALL_OPTS
263
268
) ;
264
- mktest ! ( unc_path, b"\\ \\ ?\\ pictures" , Error :: PathSeparator , ALL_OPTS ) ;
269
+ mktest ! ( unc_net_path, br"\\host" , Error :: PathSeparator , ALL_OPTS ) ;
270
+ mktest ! ( unc_path, br"\\?\pictures" , Error :: PathSeparator , ALL_OPTS ) ;
271
+ mktest ! ( unc_device_path, br"\\.\pictures" , Error :: PathSeparator , ALL_OPTS ) ;
272
+ mktest ! ( unc_nt_obj_path, br"\??\pictures" , Error :: PathSeparator , ALL_OPTS ) ;
265
273
266
274
#[ test]
267
275
fn ntfs_gitmodules ( ) {
0 commit comments