diff options
author | Chris Knight <cknight1234@gmail.com> | 2020-03-12 14:12:27 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-12 10:12:27 -0400 |
commit | cabe63eb05f334bc9921dc8633b254b05519b434 (patch) | |
tree | 4e6ad72e742a2acca605c0cf253e1f97586ce9da /std/node/_fs_dirent_test.ts | |
parent | 3ed6ccc905394ed9c5d9cbcb8fa2426151780788 (diff) |
fix: Node polyfill fsAppend rework (#4322)
* My original implementation of `fs.appendFile` used an async API, which, though
it would work fine as a polyfill, wasn't an exact match with the Node API. This PR
reworks that API to mimic the Node API fully as a synchronous void function with
an async internal implementation.
* Refactor move of other internal fs `dirent` and `dir` classes to the _fs internal
directory.
Diffstat (limited to 'std/node/_fs_dirent_test.ts')
-rw-r--r-- | std/node/_fs_dirent_test.ts | 123 |
1 files changed, 0 insertions, 123 deletions
diff --git a/std/node/_fs_dirent_test.ts b/std/node/_fs_dirent_test.ts deleted file mode 100644 index acbaffc50..000000000 --- a/std/node/_fs_dirent_test.ts +++ /dev/null @@ -1,123 +0,0 @@ -const { test } = Deno; -import { assert, assertEquals, assertThrows } from "../testing/asserts.ts"; -import Dirent from "./_fs_dirent.ts"; - -class FileInfoMock implements Deno.FileInfo { - len = -1; - modified = -1; - accessed = -1; - created = -1; - name = ""; - dev = -1; - ino = -1; - mode = -1; - nlink = -1; - uid = -1; - gid = -1; - rdev = -1; - blksize = -1; - blocks: number | null = null; - - isFileMock = false; - isDirectoryMock = false; - isSymlinkMock = false; - - isFile(): boolean { - return this.isFileMock; - } - isDirectory(): boolean { - return this.isDirectoryMock; - } - isSymlink(): boolean { - return this.isSymlinkMock; - } -} - -test({ - name: "Block devices are correctly identified", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.blocks = 5; - assert(new Dirent(fileInfo).isBlockDevice()); - assert(!new Dirent(fileInfo).isCharacterDevice()); - } -}); - -test({ - name: "Character devices are correctly identified", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.blocks = null; - assert(new Dirent(fileInfo).isCharacterDevice()); - assert(!new Dirent(fileInfo).isBlockDevice()); - } -}); - -test({ - name: "Directories are correctly identified", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.isDirectoryMock = true; - fileInfo.isFileMock = false; - fileInfo.isSymlinkMock = false; - assert(new Dirent(fileInfo).isDirectory()); - assert(!new Dirent(fileInfo).isFile()); - assert(!new Dirent(fileInfo).isSymbolicLink()); - } -}); - -test({ - name: "Files are correctly identified", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.isDirectoryMock = false; - fileInfo.isFileMock = true; - fileInfo.isSymlinkMock = false; - assert(!new Dirent(fileInfo).isDirectory()); - assert(new Dirent(fileInfo).isFile()); - assert(!new Dirent(fileInfo).isSymbolicLink()); - } -}); - -test({ - name: "Symlinks are correctly identified", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.isDirectoryMock = false; - fileInfo.isFileMock = false; - fileInfo.isSymlinkMock = true; - assert(!new Dirent(fileInfo).isDirectory()); - assert(!new Dirent(fileInfo).isFile()); - assert(new Dirent(fileInfo).isSymbolicLink()); - } -}); - -test({ - name: "File name is correct", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - fileInfo.name = "my_file"; - assertEquals(new Dirent(fileInfo).name, "my_file"); - } -}); - -test({ - name: "Socket and FIFO pipes aren't yet available", - fn() { - const fileInfo: FileInfoMock = new FileInfoMock(); - assertThrows( - () => { - new Dirent(fileInfo).isFIFO(); - }, - Error, - "does not yet support" - ); - assertThrows( - () => { - new Dirent(fileInfo).isSocket(); - }, - Error, - "does not yet support" - ); - } -}); |