diff --git a/ext/node/polyfills/_fs/_fs_stat.ts b/ext/node/polyfills/_fs/_fs_stat.ts index de9b69ba36..c4ed82d577 100644 --- a/ext/node/polyfills/_fs/_fs_stat.ts +++ b/ext/node/polyfills/_fs/_fs_stat.ts @@ -109,6 +109,28 @@ class StatsBase { this.size = size; this.blocks = blocks; } + + isFile() { + return false; + } + isDirectory() { + return false; + } + isSymbolicLink() { + return false; + } + isBlockDevice() { + return false; + } + isFIFO() { + return false; + } + isCharacterDevice() { + return false; + } + isSocket() { + return false; + } } // The Date constructor performs Math.floor() to the timestamp. diff --git a/tests/unit_node/_fs/_fs_stat_test.ts b/tests/unit_node/_fs/_fs_stat_test.ts index bdca51502a..2f9ab5214a 100644 --- a/tests/unit_node/_fs/_fs_stat_test.ts +++ b/tests/unit_node/_fs/_fs_stat_test.ts @@ -129,3 +129,17 @@ Deno.test("[std/node/fs] stat callback isn't called twice if error is thrown", a }, }); }); + +Deno.test({ + name: "[std/node/fs] stat default methods", + fn() { + const stats = new Stats(); + assertEquals(stats.isFile(), false); + assertEquals(stats.isDirectory(), false); + assertEquals(stats.isBlockDevice(), false); + assertEquals(stats.isCharacterDevice(), false); + assertEquals(stats.isSymbolicLink(), false); + assertEquals(stats.isFIFO(), false); + assertEquals(stats.isSocket(), false); + }, +});