summaryrefslogtreecommitdiff
path: root/js/files_test.ts
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2018-09-27 00:56:39 -0400
committerRyan Dahl <ry@tinyclouds.org>2018-09-28 20:53:33 -0400
commitbcbbee7399d41d813e78abe63126e2a01edb5848 (patch)
tree0c1d044bf8c441cec322d5e792ca915126cc856d /js/files_test.ts
parentd653808c9f4a7d09acd5f251ffc510d470d687b0 (diff)
Adds basic File I/O and FD table.
Adds deno.stdin, deno.stdout, deno.stderr, deno.open(), deno.write(), deno.read(), deno.Reader, deno.Writer, deno.copy(). Fixes #721. tests/cat.ts works.
Diffstat (limited to 'js/files_test.ts')
-rw-r--r--js/files_test.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/js/files_test.ts b/js/files_test.ts
new file mode 100644
index 000000000..82af10aa2
--- /dev/null
+++ b/js/files_test.ts
@@ -0,0 +1,20 @@
+// Copyright 2018 the Deno authors. All rights reserved. MIT license.
+
+import * as deno from "deno";
+import { test, assert, assertEqual } from "./test_util.ts";
+
+test(function filesStdioFileDescriptors() {
+ assertEqual(deno.stdin.fd, 0);
+ assertEqual(deno.stdout.fd, 1);
+ assertEqual(deno.stderr.fd, 2);
+});
+
+test(async function filesCopyToStdout() {
+ const filename = "package.json";
+ const file = await deno.open(filename);
+ assert(file.fd > 2);
+ const bytesWritten = await deno.copy(deno.stdout, file);
+ const fileSize = deno.statSync(filename).len;
+ assertEqual(bytesWritten, fileSize);
+ console.log("bytes written", bytesWritten);
+});