separate.js 430 Bytes
"use strict";

module.exports = function (t, a) {
	var x = [], y = {}, z = {};
	a.deep(t.call(x, y), [], "Empty");
	a.not(t.call(x), x, "Returns copy");
	a.deep(t.call([1], y), [1], "One");
	a.deep(t.call([1, "raz"], y), [1, y, "raz"], "One");
	a.deep(t.call([1, "raz", x], y), [1, y, "raz", y, x], "More");
	x = new Array(1000);
	x[23] = 2;
	x[3453] = "raz";
	x[500] = z;
	a.deep(t.call(x, y), [2, y, z, y, "raz"], "Sparse");
};