node/test/parallel/test-fs-realpath-buffer-encoding.js
Tobias Nießen 30fb4a015d test: add common.mustSucceed
PR-URL: https://github.com/nodejs/node/pull/35086
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2020-10-17 00:48:26 +02:00

91 lines
2.5 KiB
JavaScript

'use strict';
const common = require('../common');
const fixtures = require('../common/fixtures');
const assert = require('assert');
const fs = require('fs');
const string_dir = fs.realpathSync(fixtures.fixturesDir);
const buffer_dir = Buffer.from(string_dir);
const encodings = ['ascii', 'utf8', 'utf16le', 'ucs2',
'base64', 'binary', 'hex'];
const expected = {};
encodings.forEach((encoding) => {
expected[encoding] = buffer_dir.toString(encoding);
});
// test sync version
let encoding;
for (encoding in expected) {
const expected_value = expected[encoding];
let result;
result = fs.realpathSync(string_dir, { encoding });
assert.strictEqual(result, expected_value);
result = fs.realpathSync(string_dir, encoding);
assert.strictEqual(result, expected_value);
result = fs.realpathSync(buffer_dir, { encoding });
assert.strictEqual(result, expected_value);
result = fs.realpathSync(buffer_dir, encoding);
assert.strictEqual(result, expected_value);
}
let buffer_result;
buffer_result = fs.realpathSync(string_dir, { encoding: 'buffer' });
assert.deepStrictEqual(buffer_result, buffer_dir);
buffer_result = fs.realpathSync(string_dir, 'buffer');
assert.deepStrictEqual(buffer_result, buffer_dir);
buffer_result = fs.realpathSync(buffer_dir, { encoding: 'buffer' });
assert.deepStrictEqual(buffer_result, buffer_dir);
buffer_result = fs.realpathSync(buffer_dir, 'buffer');
assert.deepStrictEqual(buffer_result, buffer_dir);
// test async version
for (encoding in expected) {
const expected_value = expected[encoding];
fs.realpath(
string_dir,
{ encoding },
common.mustSucceed((res) => {
assert.strictEqual(res, expected_value);
})
);
fs.realpath(string_dir, encoding, common.mustSucceed((res) => {
assert.strictEqual(res, expected_value);
}));
fs.realpath(
buffer_dir,
{ encoding },
common.mustSucceed((res) => {
assert.strictEqual(res, expected_value);
})
);
fs.realpath(buffer_dir, encoding, common.mustSucceed((res) => {
assert.strictEqual(res, expected_value);
}));
}
fs.realpath(string_dir, { encoding: 'buffer' }, common.mustSucceed((res) => {
assert.deepStrictEqual(res, buffer_dir);
}));
fs.realpath(string_dir, 'buffer', common.mustSucceed((res) => {
assert.deepStrictEqual(res, buffer_dir);
}));
fs.realpath(buffer_dir, { encoding: 'buffer' }, common.mustSucceed((res) => {
assert.deepStrictEqual(res, buffer_dir);
}));
fs.realpath(buffer_dir, 'buffer', common.mustSucceed((res) => {
assert.deepStrictEqual(res, buffer_dir);
}));