2017-09-21 10:07:56 -07:00
|
|
|
// Flags: --expose-internals
|
2017-07-17 10:29:42 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const common = require('../common');
|
|
|
|
const {
|
|
|
|
assertIsObject,
|
|
|
|
assertWithinRange,
|
|
|
|
} = require('internal/http2/util');
|
|
|
|
|
|
|
|
[
|
|
|
|
undefined,
|
|
|
|
{},
|
|
|
|
Object.create(null),
|
|
|
|
new Date(),
|
|
|
|
new (class Foo {})()
|
2018-03-19 13:43:24 +01:00
|
|
|
].forEach((input) => {
|
|
|
|
assertIsObject(input, 'foo', 'Object');
|
2017-07-17 10:29:42 -07:00
|
|
|
});
|
|
|
|
|
|
|
|
[
|
|
|
|
1,
|
|
|
|
false,
|
|
|
|
'hello',
|
|
|
|
NaN,
|
|
|
|
Infinity,
|
|
|
|
[],
|
|
|
|
[{}]
|
2018-03-19 13:33:46 +01:00
|
|
|
].forEach((input) => {
|
|
|
|
common.expectsError(() => assertIsObject(input, 'foo', 'Object'),
|
2017-12-06 22:16:44 +05:30
|
|
|
{
|
|
|
|
code: 'ERR_INVALID_ARG_TYPE',
|
2018-03-19 13:33:46 +01:00
|
|
|
message: 'The "foo" argument must be of type Object. ' +
|
|
|
|
`Received type ${typeof input}`
|
2017-12-06 22:16:44 +05:30
|
|
|
});
|
2017-07-17 10:29:42 -07:00
|
|
|
});
|
|
|
|
|
2018-02-09 02:32:04 +01:00
|
|
|
assertWithinRange('foo', 1, 0, 2);
|
2017-07-17 10:29:42 -07:00
|
|
|
|
2017-12-06 22:16:44 +05:30
|
|
|
common.expectsError(() => assertWithinRange('foo', 1, 2, 3),
|
|
|
|
{
|
|
|
|
code: 'ERR_HTTP2_INVALID_SETTING_VALUE',
|
2018-03-19 13:43:24 +01:00
|
|
|
message: 'Invalid value for setting "foo": 1'
|
2017-12-06 22:16:44 +05:30
|
|
|
});
|