From c19ddb992506ea34d4f8680965ba117c9a1a0aac Mon Sep 17 00:00:00 2001 From: Darshan Sen Date: Sun, 23 Oct 2022 10:57:54 +0530 Subject: [PATCH] fixup! test: add a more isolated Module._stat test Signed-off-by: Darshan Sen --- test/parallel/test-module-stat.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/parallel/test-module-stat.js diff --git a/test/parallel/test-module-stat.js b/test/parallel/test-module-stat.js new file mode 100644 index 00000000000000..eaaeb898afd603 --- /dev/null +++ b/test/parallel/test-module-stat.js @@ -0,0 +1,25 @@ +'use strict'; +require('../common'); + +// This tests Module._stat. + +const Module = require('module'); +const fs = require('fs'); +const tmpdir = require('../common/tmpdir'); +const { ok, strictEqual } = require('assert'); +const { join } = require('path'); + +const directory = join(tmpdir.path, 'directory'); +const doesNotExist = join(tmpdir.path, 'does-not-exist'); +const file = join(tmpdir.path, 'file.js'); + +tmpdir.refresh(); +fs.writeFileSync(file, "module.exports = { a: 'b' }"); +fs.mkdirSync(directory); + +strictEqual(Module._stat(directory), 1); // Returns 1 for directories. +strictEqual(Module._stat(file), 0); // Returns 0 for files. +ok(Module._stat(doesNotExist) < 0); // Returns a negative integer for any other kind of strings. + +// TODO(RaisinTen): Add tests that make sure that Module._stat() does not crash when called +// with a non-string data type. It crashes currently.