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

ESLint 4.x has stricter linting than previous versions. We are currently using the legacy indentation rules in the test directory. This commit changes the indentation of files to comply with the stricter 4.x linting and enable stricter linting in the test directory. PR-URL: https://github.com/nodejs/node/pull/14431 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Trevor Norris <trev.norris@gmail.com>
67 lines
1.5 KiB
JavaScript
67 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const { deepStrictEqual, throws } = require('assert');
|
|
const { Buffer } = require('buffer');
|
|
const { runInNewContext } = require('vm');
|
|
|
|
const checkString = 'test';
|
|
|
|
const check = Buffer.from(checkString);
|
|
|
|
class MyString extends String {
|
|
constructor() {
|
|
super(checkString);
|
|
}
|
|
}
|
|
|
|
class MyPrimitive {
|
|
[Symbol.toPrimitive]() {
|
|
return checkString;
|
|
}
|
|
}
|
|
|
|
class MyBadPrimitive {
|
|
[Symbol.toPrimitive]() {
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
deepStrictEqual(Buffer.from(new String(checkString)), check);
|
|
deepStrictEqual(Buffer.from(new MyString()), check);
|
|
deepStrictEqual(Buffer.from(new MyPrimitive()), check);
|
|
deepStrictEqual(
|
|
Buffer.from(runInNewContext('new String(checkString)', { checkString })),
|
|
check
|
|
);
|
|
|
|
[
|
|
{},
|
|
new Boolean(true),
|
|
{ valueOf() { return null; } },
|
|
{ valueOf() { return undefined; } },
|
|
{ valueOf: null },
|
|
Object.create(null)
|
|
].forEach((input) => {
|
|
const err = common.expectsError({
|
|
code: 'ERR_INVALID_ARG_TYPE',
|
|
type: TypeError,
|
|
message: 'The first argument must be one of type string, buffer, ' +
|
|
'arrayBuffer, array, or array-like object'
|
|
});
|
|
throws(() => Buffer.from(input), err);
|
|
});
|
|
|
|
[
|
|
new Number(true),
|
|
new MyBadPrimitive()
|
|
].forEach((input) => {
|
|
const errMsg = common.expectsError({
|
|
code: 'ERR_INVALID_ARG_TYPE',
|
|
type: TypeError,
|
|
message: 'The "value" argument must not be of type number. ' +
|
|
'Received type number'
|
|
});
|
|
throws(() => Buffer.from(input), errMsg);
|
|
});
|