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