From 2508480465a25d5d87c407081feb6160f9707cab Mon Sep 17 00:00:00 2001 From: diskkid Date: Thu, 16 May 2019 03:50:54 +0900 Subject: Add error handling to dispatch_minimal::ops::read/write (#2349) --- js/files_test.ts | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'js/files_test.ts') diff --git a/js/files_test.ts b/js/files_test.ts index 620d95ecd..350c1eb41 100644 --- a/js/files_test.ts +++ b/js/files_test.ts @@ -89,6 +89,49 @@ testPerm({ read: false }, async function readPermFailure(): Promise { assert(caughtError); }); +testPerm({ write: true }, async function writeNullBufferFailure(): Promise< + void +> { + const tempDir = Deno.makeTempDirSync(); + const filename = tempDir + "hello.txt"; + const file = await Deno.open(filename, "w"); + + // writing null should throw an error + let err; + try { + await file.write(null); + } catch (e) { + err = e; + } + // TODO: Check error kind when dispatch_minimal pipes errors properly + assert(!!err); + + file.close(); + await Deno.remove(tempDir, { recursive: true }); +}); + +testPerm( + { write: true, read: true }, + async function readNullBufferFailure(): Promise { + const tempDir = Deno.makeTempDirSync(); + const filename = tempDir + "hello.txt"; + const file = await Deno.open(filename, "w+"); + + // reading file into null buffer should throw an error + let err; + try { + await file.read(null); + } catch (e) { + err = e; + } + // TODO: Check error kind when dispatch_minimal pipes errors properly + assert(!!err); + + file.close(); + await Deno.remove(tempDir, { recursive: true }); + } +); + testPerm( { write: false, read: false }, async function readWritePermFailure(): Promise { -- cgit v1.2.3