Skip to content

Commit

Permalink
Test for listRecursively causing delete to fail (#1361)
Browse files Browse the repository at this point in the history
  • Loading branch information
pablobaxter authored Dec 12, 2023
1 parent 0bbdac8 commit 3caa286
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions okio/src/jvmTest/kotlin/okio/FileLeakTest.kt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ class FileLeakTest {
private lateinit var fakeFileSystem: FakeFileSystem
private val fakeZip = "/test.zip".toPath()
private val fakeEntry = "some.file".toPath()
private val fakeDirectory = "/another/".toPath()
private val fakeEntry2 = fakeDirectory / "another.file"

@Before
fun setup() {
Expand All @@ -41,6 +43,14 @@ class FileLeakTest {
putEntry(fakeEntry.name) {
writeUtf8("FooBar")
}
try {
putNextEntry(ZipEntry(fakeDirectory.name).apply { time = 0L })
} finally {
closeEntry()
}
putEntry(fakeEntry2.toString()) {
writeUtf8("SomethingElse")
}
}
}
}
Expand All @@ -55,14 +65,12 @@ class FileLeakTest {
fun zipFileSystemExistsTest() {
val zipFileSystem = fakeFileSystem.openZip(fakeZip)
assertTrue(zipFileSystem.exists(fakeEntry))
fakeFileSystem.checkNoOpenFiles()
}

@Test
fun zipFileSystemMetadataTest() {
val zipFileSystem = fakeFileSystem.openZip(fakeZip)
assertNotNull(zipFileSystem.metadataOrNull(fakeEntry))
fakeFileSystem.checkNoOpenFiles()
}

@Test
Expand All @@ -71,7 +79,13 @@ class FileLeakTest {
zipFileSystem.source(fakeEntry).use { source ->
assertEquals("FooBar", source.buffer().readUtf8())
}
fakeFileSystem.checkNoOpenFiles()
}

@Test
fun zipFileSystemListRecursiveTest() {
val zipFileSystem = fakeFileSystem.openZip(fakeZip)
zipFileSystem.listRecursively("/".toPath()).toList()
fakeFileSystem.delete(fakeZip)
}
}

Expand Down

0 comments on commit 3caa286

Please sign in to comment.