From 3637e61aa3770398642dd474d9830e5f47ca789f Mon Sep 17 00:00:00 2001 From: vinceglb Date: Thu, 9 Jul 2026 20:19:22 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20Handle=20empty=20NSURL=20paths?= =?UTF-8?q?=20in=20delete=20flow?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kotlin/io/github/vinceglb/filekit/utils/NSURLExt.kt | 3 +++ .../io/github/vinceglb/filekit/PlatformFileNonWebTest.kt | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/filekit-core/src/appleMain/kotlin/io/github/vinceglb/filekit/utils/NSURLExt.kt b/filekit-core/src/appleMain/kotlin/io/github/vinceglb/filekit/utils/NSURLExt.kt index 2614b455..fa57e323 100644 --- a/filekit-core/src/appleMain/kotlin/io/github/vinceglb/filekit/utils/NSURLExt.kt +++ b/filekit-core/src/appleMain/kotlin/io/github/vinceglb/filekit/utils/NSURLExt.kt @@ -6,4 +6,7 @@ import platform.Foundation.NSURL public fun NSURL.toKotlinxPath(): Path = this.path ?.let(::Path) + ?: absoluteString + ?.takeIf(String::isEmpty) + ?.let(::Path) ?: throw FileKitNSURLNullPathException() diff --git a/filekit-core/src/nonWebTest/kotlin/io/github/vinceglb/filekit/PlatformFileNonWebTest.kt b/filekit-core/src/nonWebTest/kotlin/io/github/vinceglb/filekit/PlatformFileNonWebTest.kt index 168ce3d1..da9c2654 100644 --- a/filekit-core/src/nonWebTest/kotlin/io/github/vinceglb/filekit/PlatformFileNonWebTest.kt +++ b/filekit-core/src/nonWebTest/kotlin/io/github/vinceglb/filekit/PlatformFileNonWebTest.kt @@ -104,6 +104,11 @@ class PlatformFileNonWebTest { assertTrue { resourceDirectory.exists() } } + @Test + fun PlatformFile_deleteEmptyPathWithMustExistFalse_doesNothing() = runTest { + PlatformFile("").delete(mustExist = false) + } + @Test fun testPlatformFileReadBytes() = runTest { val textFileContent = textFile.readString()