copy.js
703 Bytes
"use strict";
var stringify = JSON.stringify;
module.exports = function (t, a) {
var o = { 1: "raz", 2: "dwa", 3: "trzy" }, no = t(o);
a.not(no, o, "Return different object");
a(stringify(no), stringify(o), "Match properties and values");
o = {
foo: "bar",
raz: {
dwa: "dwa",
trzy: { cztery: "pięć", sześć: "siedem" },
osiem: {},
dziewięć: function () {}
},
dziesięć: 10
};
o.raz.rec = o;
no = t(o);
a(o.raz, no.raz, "Shallow");
a.deep(t(o, ["foo"]), { foo: "bar" });
a.deep(t(Object.create(o), ["foo"]), { foo: "bar" });
a.deep(t(o, ["foo", "habla"]), { foo: "bar" });
a.deep(t(o, ["foo", "habla"], { ensure: true }), { foo: "bar", habla: undefined });
};