mirror of
https://github.com/nodejs/node.git
synced 2025-05-08 03:13:13 +00:00

- Migrate the type check of path to ERR_INVALID_ARG_TYPE - Add template counterparts of ASYNC_CALL, ASYNC_DEST_CALL, SYNC_CALL, SYNC_DEST_CALL - Port StringFromPath and UVException to JavaScript - Migrate the access binding to collect the error context in C++, then throw the error in JS PR-URL: https://github.com/nodejs/node/pull/17160 Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const fixtures = require('../common/fixtures');
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
|
|
common.refreshTmpDir();
|
|
|
|
assert.doesNotThrow(() => {
|
|
fs.access(Buffer.from(common.tmpDir), common.mustCall((err) => {
|
|
assert.ifError(err);
|
|
}));
|
|
});
|
|
|
|
assert.doesNotThrow(() => {
|
|
const buf = Buffer.from(path.join(common.tmpDir, 'a.txt'));
|
|
fs.open(buf, 'w+', common.mustCall((err, fd) => {
|
|
assert.ifError(err);
|
|
assert(fd);
|
|
fs.close(fd, common.mustCall((err) => {
|
|
assert.ifError(err);
|
|
}));
|
|
}));
|
|
});
|
|
|
|
common.expectsError(
|
|
() => {
|
|
fs.accessSync(true);
|
|
},
|
|
{
|
|
code: 'ERR_INVALID_ARG_TYPE',
|
|
type: TypeError,
|
|
message: 'The "path" argument must be one of type string, Buffer, or URL'
|
|
}
|
|
);
|
|
|
|
const dir = Buffer.from(fixtures.fixturesDir);
|
|
fs.readdir(dir, 'hex', common.mustCall((err, hexList) => {
|
|
assert.ifError(err);
|
|
fs.readdir(dir, common.mustCall((err, stringList) => {
|
|
assert.ifError(err);
|
|
stringList.forEach((val, idx) => {
|
|
const fromHexList = Buffer.from(hexList[idx], 'hex').toString();
|
|
assert.strictEqual(
|
|
fromHexList,
|
|
val,
|
|
`expected ${val}, got ${fromHexList} by hex decoding ${hexList[idx]}`
|
|
);
|
|
});
|
|
}));
|
|
}));
|