Opal-Estate-Pro/node_modules/es5-ext/test/object/copy-deep.js

36 lines
958 B
JavaScript
Raw Normal View History

2019-09-13 06:27:52 +02:00
"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,
jedenaście: ["raz", ["dwa", "trzy", { elo: "true" }]]
};
o.raz.rec = o;
no = t(o);
a.not(o.raz, no.raz, "Deep");
a.not(o.raz.trzy, no.raz.trzy, "Deep #2");
a(stringify(o.raz.trzy), stringify(no.raz.trzy), "Deep content");
a(no.raz.rec, no, "Recursive");
a.not(o.raz.osiem, no.raz.osiem, "Empty object");
a(o.raz["dziewięć"], no.raz["dziewięć"], "Function");
a.not(o["jedenaście"], no["jedenaście"]);
a.not(o["jedenaście"][1], no["jedenaście"][1]);
a.not(o["jedenaście"][1][2], no["jedenaście"][1][2]);
a(t(true), true);
};