validate-stringifiable-value.js 520 Bytes
"use strict";

module.exports = function (t, a) {
	var x;
	a.throws(function () {
 t();
}, TypeError, "Undefined");
	a.throws(function () {
 t(null);
}, TypeError, "Null");
	a(t(0), "0");
	a(t(false), "false");
	a(t(""), "");
	a(t({}), String({}), "Object");
	a(t(x = function () {}), String(x), "Function");
	a(t(x = new String("raz")), String(x), "String object"); // Jslint: ignore
	a(t(x = new Date()), String(x), "Date");

	a.throws(function () {
 t(Object.create(null));
}, TypeError, "Null prototype object");
};