HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/has-bigints/test/index.js
'use strict';

var test = require('tape');
var hasBigInts = require('..');

test('interface', function (t) {
	t.equal(typeof hasBigInts, 'function', 'is a function');
	t.equal(typeof hasBigInts(), 'boolean', 'returns a boolean');
	t.end();
});

test('BigInts are supported', { skip: !hasBigInts() }, function (t) {
	t.equal(typeof BigInt, 'function', 'global BigInt is a function');
	if (typeof BigInt !== 'function') {
		return;
	}

	t.equal(BigInt(42), BigInt(42), '42n === 42n');
	t['throws'](
		function () { BigInt(NaN); },
		RangeError,
		'NaN is not an integer; BigInt(NaN) throws'
	);

	t['throws'](
		function () { BigInt(Infinity); },
		RangeError,
		'Infinity is not an integer; BigInt(Infinity) throws'
	);

	t['throws'](
		function () { BigInt(1.1); },
		RangeError,
		'1.1 is not an integer; BigInt(1.1) throws'
	);

	t.end();
});

test('BigInts are not supported', { skip: hasBigInts() }, function (t) {
	t.equal(typeof BigInt, 'undefined', 'global BigInt is undefined');

	t.end();
});