ensure-finite-number.js 743 Bytes
Newer Older
YazhouChen's avatar
YazhouChen committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
"use strict";

module.exports = function (t, a) {
	a.throws(
		function () {
			t(undefined);
		},
		TypeError,
		"Undefined"
	);
	a.throws(
		function () {
			t(null);
		},
		TypeError,
		"Null"
	);
	a(t(0), 0, "Zero");
	a.throws(
		function () {
			t(NaN);
		},
		TypeError,
		"NaN"
	);
	a.throws(
		function () {
			t(Infinity);
		},
		TypeError,
		"Infinity"
	);
	a(t(12), 12, "Number");
	a(t(false), 0, "Boolean");
	a(t(new Date(1000000)), 1000000, "Date");
	a(t(new Number(2)), 2, "Number object");
	a.throws(
		function () {
			t("asdfaf");
		},
		TypeError,
		"String"
	);
	a(t(""), 0, "Empty String");
	if (typeof Symbol === "function") {
		a.throws(
			function () {
				t(Symbol("test"));
			},
			TypeError,
			"Symbol"
		);
	}
};