aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/test/object/copy-deep.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/test/object/copy-deep.js')
-rw-r--r--node_modules/es5-ext/test/object/copy-deep.js31
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/es5-ext/test/object/copy-deep.js b/node_modules/es5-ext/test/object/copy-deep.js
new file mode 100644
index 000000000..2dcbc3ab9
--- /dev/null
+++ b/node_modules/es5-ext/test/object/copy-deep.js
@@ -0,0 +1,31 @@
+"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]);
+};