copy-deep.js 958 B

1234567891011121314151617181920212223242526272829303132333435
  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. jedenaście: ["raz", ["dwa", "trzy", { elo: "true" }]]
  17. };
  18. o.raz.rec = o;
  19. no = t(o);
  20. a.not(o.raz, no.raz, "Deep");
  21. a.not(o.raz.trzy, no.raz.trzy, "Deep #2");
  22. a(stringify(o.raz.trzy), stringify(no.raz.trzy), "Deep content");
  23. a(no.raz.rec, no, "Recursive");
  24. a.not(o.raz.osiem, no.raz.osiem, "Empty object");
  25. a(o.raz["dziewięć"], no.raz["dziewięć"], "Function");
  26. a.not(o["jedenaście"], no["jedenaście"]);
  27. a.not(o["jedenaście"][1], no["jedenaście"][1]);
  28. a.not(o["jedenaście"][1][2], no["jedenaście"][1][2]);
  29. a(t(true), true);
  30. };