@@ -854,16 +854,29 @@ private struct StringTests {
854854 #expect( " /foo/bar/.zip " . deletingPathExtension ( ) == " /foo/bar/.zip " )
855855 #expect( " .. " . deletingPathExtension ( ) == " .. " )
856856 #expect( " ..zip " . deletingPathExtension ( ) == " ..zip " )
857+ #expect( " /.. " . deletingPathExtension ( ) == " /.. " )
858+ #expect( " /..zip " . deletingPathExtension ( ) == " /..zip " )
857859 #expect( " /foo/bar/..zip " . deletingPathExtension ( ) == " /foo/bar/..zip " )
858860 #expect( " /foo/bar/baz..zip " . deletingPathExtension ( ) == " /foo/bar/baz. " )
859861 #expect( " ... " . deletingPathExtension ( ) == " ... " )
860862 #expect( " ...zip " . deletingPathExtension ( ) == " ...zip " )
863+ #expect( " /... " . deletingPathExtension ( ) == " /... " )
864+ #expect( " /...zip " . deletingPathExtension ( ) == " /...zip " )
861865 #expect( " /foo/bar/...zip " . deletingPathExtension ( ) == " /foo/bar/...zip " )
862866 #expect( " /foo/bar/baz...zip " . deletingPathExtension ( ) == " /foo/bar/baz.. " )
863867 #expect( " /foo.bar/bar.baz/baz.zip " . deletingPathExtension ( ) == " /foo.bar/bar.baz/baz " )
864868 #expect( " /.././.././a.zip " . deletingPathExtension ( ) == " /.././.././a " )
865869 #expect( " /.././.././. " . deletingPathExtension ( ) == " /.././.././. " )
866870
871+ // File names starting with "." or ".." are OK
872+ // as long as they aren't exactly "." or ".."
873+ #expect( " ..name.txt " . deletingPathExtension ( ) == " ..name " )
874+ #expect( " /..name.txt " . deletingPathExtension ( ) == " /..name " )
875+ #expect( " ....txt " . deletingPathExtension ( ) == " ... " )
876+ #expect( " /....txt " . deletingPathExtension ( ) == " /... " )
877+ #expect( " .name.txt " . deletingPathExtension ( ) == " .name " )
878+ #expect( " /.name.txt " . deletingPathExtension ( ) == " /.name " )
879+
867880 #expect( " path.foo " . deletingPathExtension ( ) == " path " )
868881 #expect( " path.foo.zip " . deletingPathExtension ( ) == " path.foo " )
869882 #expect( " /path.foo " . deletingPathExtension ( ) == " /path " )
0 commit comments