// Flags: --expose-internals 'use strict'; const common = require('../common'); const { assertIsObject, assertWithinRange, } = require('internal/http2/util'); [ undefined, {}, Object.create(null), new Date(), new (class Foo {})() ].forEach((input) => { assertIsObject(input, 'foo', 'Object'); }); [ 1, false, 'hello', NaN, Infinity, [], [{}] ].forEach((input) => { common.expectsError(() => assertIsObject(input, 'foo', 'Object'), { code: 'ERR_INVALID_ARG_TYPE', message: 'The "foo" argument must be of type Object. ' + `Received type ${typeof input}` }); }); assertWithinRange('foo', 1, 0, 2); common.expectsError(() => assertWithinRange('foo', 1, 2, 3), { code: 'ERR_HTTP2_INVALID_SETTING_VALUE', message: 'Invalid value for setting "foo": 1' });