Test clone method

This commit is contained in:
Maxime Thirouin
2014-05-04 08:33:59 +02:00
parent 1a1bc03c06
commit 4404f21077
2 changed files with 29 additions and 0 deletions

12
src/scripts/lib/clone.js Normal file
View File

@@ -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
}

View File

@@ -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()
})