summaryrefslogtreecommitdiff
path: root/std/archive/tar_test.ts
diff options
context:
space:
mode:
authorzfx <502545703@qq.com>2020-07-31 00:01:31 +0800
committerGitHub <noreply@github.com>2020-07-30 12:01:31 -0400
commit95597fc6e2ed9975c26eae77ba68ae42ca2c331a (patch)
tree817a716d465cf9d040a7901614a9d8bbaa07b7f0 /std/archive/tar_test.ts
parent391088c6ff531ac6714e9076eb62f2294793ccdd (diff)
fix(std/tar): directory type bug (#6905)
Diffstat (limited to 'std/archive/tar_test.ts')
-rw-r--r--std/archive/tar_test.ts29
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);
+});