diff options
author | Mani Maghsoudlou <manidlou@gmail.com> | 2018-09-03 17:22:30 -0700 |
---|---|---|
committer | Ryan Dahl <ry@tinyclouds.org> | 2018-09-04 11:57:04 -0400 |
commit | 641e3d404dfeb8f70ae0eb6c59b898b9f44742a1 (patch) | |
tree | 7611e133745846dbef3cd11437bad5d3f06a7e52 /js/os_test.ts | |
parent | b2b4299e3b499c50bd11059854e3dcb4df2e2891 (diff) |
Implement renameSync
Diffstat (limited to 'js/os_test.ts')
-rw-r--r-- | js/os_test.ts | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/js/os_test.ts b/js/os_test.ts index 8142956eb..2954b377c 100644 --- a/js/os_test.ts +++ b/js/os_test.ts @@ -204,3 +204,41 @@ testPerm({ write: false }, function mkdDirSyncPerm() { assertEqual(err.name, "deno.PermissionDenied"); }); +testPerm({ write: true }, function renameSync() { + const testDir = deno.makeTempDirSync() + "/test-rename"; + const oldpath = testDir + "/oldpath" + const newpath = testDir + "/newpath" + deno.mkdirSync(oldpath); + deno.renameSync(oldpath, newpath); + const newPathInfo = deno.statSync(newpath); + assert(newPathInfo.isDirectory()); + + let caughtErr = false; + let oldPathInfo; + + try { + oldPathInfo = deno.statSync(oldpath); + } catch (err) { + caughtErr = true; + // TODO assert(err instanceof deno.NotFound). + assert(err); + assertEqual(err.name, "deno.NotFound"); + } + + assert(caughtErr); + assertEqual(oldPathInfo, undefined); +}); + +test(function renameSyncPerm() { + let err; + try { + const oldpath = "/oldbaddir"; + const newpath = "/newbaddir"; + deno.renameSync(oldpath, newpath); + } catch (err_) { + err = err_; + } + // TODO assert(err instanceof deno.PermissionDenied). + assert(err); + assertEqual(err.name, "deno.PermissionDenied"); +}); |