|
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 | }
|
@@ -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,
|
@@ -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",
|
|
0 commit comments