diff options
author | zfx <502545703@qq.com> | 2020-07-31 00:01:31 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-30 12:01:31 -0400 |
commit | 95597fc6e2ed9975c26eae77ba68ae42ca2c331a (patch) | |
tree | 817a716d465cf9d040a7901614a9d8bbaa07b7f0 /std/archive/tar_test.ts | |
parent | 391088c6ff531ac6714e9076eb62f2294793ccdd (diff) |
fix(std/tar): directory type bug (#6905)
Diffstat (limited to 'std/archive/tar_test.ts')
-rw-r--r-- | std/archive/tar_test.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/std/archive/tar_test.ts b/std/archive/tar_test.ts index 17dfe7745..0f7f51e30 100644 --- a/std/archive/tar_test.ts +++ b/std/archive/tar_test.ts @@ -395,3 +395,32 @@ Deno.test("untarLinuxGeneratedTar", async function (): Promise<void> { file.close(); }); + +Deno.test("directoryEntryType", async function (): Promise<void> { + const tar = new Tar(); + + tar.append("directory/", { + reader: new Deno.Buffer(), + contentSize: 0, + type: "directory", + }); + + const filePath = resolve("archive", "testdata"); + tar.append("archive/testdata/", { + filePath, + }); + + const outputFile = resolve("archive", "testdata", "directory_type_test.tar"); + const file = await Deno.open(outputFile, { create: true, write: true }); + await Deno.copy(tar.getReader(), file); + await file.close(); + + const reader = await Deno.open(outputFile, { read: true }); + const untar = new Untar(reader); + for await (const entry of untar) { + assertEquals(entry.type, "directory"); + } + + await reader.close(); + await Deno.remove(outputFile); +}); |