node/test/parallel/test-vfs-utimes.js
Matteo Collina c9562ddb82
vfs: add minimal node:vfs subsystem
Adds the node:vfs builtin module with VirtualFileSystem and
provider classes. No integration with fs, modules, or SEA.

Assisted-by: Claude-Opus4.7
Signed-off-by: Matteo Collina <hello@matteocollina.com>
PR-URL: https://github.com/nodejs/node/pull/63115
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2026-05-23 18:43:31 +00:00

27 lines
754 B
JavaScript

// Flags: --experimental-vfs
'use strict';
// utimes / lutimes accept Date instances, numeric seconds, strings,
// and other values (which fall through to a no-op time value).
require('../common');
const vfs = require('node:vfs');
const myVfs = vfs.create();
myVfs.writeFileSync('/u.txt', 'x');
myVfs.symlinkSync('/u.txt', '/lk');
// Numeric seconds branch
myVfs.utimesSync('/u.txt', 1000, 2000);
// Date object branch
myVfs.utimesSync('/u.txt', new Date(3000000), new Date(4000000));
// String time → DateNow() fallback
myVfs.utimesSync('/u.txt', 'now', 'now');
// null/undefined → fallthrough (returns the value as-is)
myVfs.utimesSync('/u.txt', null, undefined);
// lutimes for symlinks
myVfs.lutimesSync('/lk', new Date(0), new Date(0));