Test clone method
This commit is contained in:
1 parent
1a1bc03c06
commit
4404f21077
2 files changed
+29
No files matched your search
@@ -0,0 +1,12 @@
|
|||||||
|
module.exports = function(obj) {
|
||||||
|
if (null === obj || "object" != typeof obj) {
|
||||||
|
return obj
|
||||||
|
}
|
||||||
|
var copy = obj.constructor()
|
||||||
|
for (var attr in obj) {
|
||||||
|
if (obj.hasOwnProperty(attr)) {
|
||||||
|
copy[attr] = obj[attr]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return copy
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
var tape = require("tape")
|
||||||
|
|
||||||
|
var clone = require("../../../src/scripts/lib/clone")
|
||||||
|
|
||||||
|
tape("test clone method", function(t) {
|
||||||
|
var obj = {one: 1, two: 2}
|
||||||
|
var cloned = clone(obj)
|
||||||
|
|
||||||
|
t.notEqual(obj, cloned, "cloned object isn't the object")
|
||||||
|
|
||||||
|
t.same(obj, cloned, "cloned object have the same values than object")
|
||||||
|
|
||||||
|
cloned.tree = 3
|
||||||
|
t.notSame(obj, cloned, "modified cloned object haven't the same values than object")
|
||||||
|
|
||||||
|
t.end()
|
||||||
|
})
|
||||||
Reference in new issue
Block a user