copy.js 703 B

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. var stringify = JSON.stringify;
  3. module.exports = function (t, a) {
  4. var o = { 1: "raz", 2: "dwa", 3: "trzy" }, no = t(o);
  5. a.not(no, o, "Return different object");
  6. a(stringify(no), stringify(o), "Match properties and values");
  7. o = {
  8. foo: "bar",
  9. raz: {
  10. dwa: "dwa",
  11. trzy: { cztery: "pięć", sześć: "siedem" },
  12. osiem: {},
  13. dziewięć: function () {}
  14. },
  15. dziesięć: 10
  16. };
  17. o.raz.rec = o;
  18. no = t(o);
  19. a(o.raz, no.raz, "Shallow");
  20. a.deep(t(o, ["foo"]), { foo: "bar" });
  21. a.deep(t(Object.create(o), ["foo"]), { foo: "bar" });
  22. a.deep(t(o, ["foo", "habla"]), { foo: "bar" });
  23. a.deep(t(o, ["foo", "habla"], { ensure: true }), { foo: "bar", habla: undefined });
  24. };