Initial commit
This commit is contained in:
		
							
								
								
									
										59
									
								
								node_modules/unbox-primitive/test/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								node_modules/unbox-primitive/test/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
'use strict';
 | 
			
		||||
 | 
			
		||||
var test = require('tape');
 | 
			
		||||
var inspect = require('object-inspect');
 | 
			
		||||
var is = require('object-is');
 | 
			
		||||
var forEach = require('for-each');
 | 
			
		||||
var hasSymbols = require('has-symbols')();
 | 
			
		||||
var hasBigInts = require('has-bigints')();
 | 
			
		||||
 | 
			
		||||
var unboxPrimitive = require('..');
 | 
			
		||||
 | 
			
		||||
var debug = function (v, m) { return inspect(v) + ' ' + m; };
 | 
			
		||||
 | 
			
		||||
test('primitives', function (t) {
 | 
			
		||||
	var primitives = [
 | 
			
		||||
		true,
 | 
			
		||||
		false,
 | 
			
		||||
		'',
 | 
			
		||||
		'foo',
 | 
			
		||||
		42,
 | 
			
		||||
		NaN,
 | 
			
		||||
		Infinity,
 | 
			
		||||
		0
 | 
			
		||||
	];
 | 
			
		||||
	if (hasSymbols) {
 | 
			
		||||
		primitives.push(Symbol(), Symbol.iterator, Symbol('f'));
 | 
			
		||||
	}
 | 
			
		||||
	if (hasBigInts) {
 | 
			
		||||
		primitives.push(BigInt(42), BigInt(0));
 | 
			
		||||
	}
 | 
			
		||||
	forEach(primitives, function (primitive) {
 | 
			
		||||
		var obj = Object(primitive);
 | 
			
		||||
		t.ok(
 | 
			
		||||
			is(unboxPrimitive(obj), primitive),
 | 
			
		||||
			debug(obj, 'unboxes to ' + inspect(primitive))
 | 
			
		||||
		);
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	t.end();
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
test('objects', function (t) {
 | 
			
		||||
	var objects = [
 | 
			
		||||
		{},
 | 
			
		||||
		[],
 | 
			
		||||
		function () {},
 | 
			
		||||
		/a/g,
 | 
			
		||||
		new Date()
 | 
			
		||||
	];
 | 
			
		||||
	forEach(objects, function (object) {
 | 
			
		||||
		t['throws'](
 | 
			
		||||
			function () { unboxPrimitive(object); },
 | 
			
		||||
			TypeError,
 | 
			
		||||
			debug(object, 'is not a primitive')
 | 
			
		||||
		);
 | 
			
		||||
	});
 | 
			
		||||
 | 
			
		||||
	t.end();
 | 
			
		||||
});
 | 
			
		||||
		Reference in New Issue
	
	Block a user