diff --git a/Makefile b/Makefile index 0f14dac..89cc2d2 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,4 @@ +TESTS = test/index.js build: components index.js @component build --dev @@ -8,4 +9,9 @@ components: component.json clean: rm -fr build components template.js -.PHONY: clean +test: + @./node_modules/.bin/mocha \ + --growl \ + $(TESTS) + +.PHONY: test clean diff --git a/index.js b/index.js index 27fe990..c56660c 100644 --- a/index.js +++ b/index.js @@ -390,7 +390,6 @@ o.data = function () { this._data[k] = obj[k]; } - Object.freeze(obj); this.emit("data change",this,obj); var root = this.root; if(root !== this){ diff --git a/package.json b/package.json index 298b62d..921ead9 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "tree node", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "make test" }, "repository": { "type": "git", @@ -28,5 +28,7 @@ "dependencies": { "emitter-component": "~1.1.1" }, - "devDependencies": {} + "devDependencies": { + "mocha": "*" + } } diff --git a/test/index.js b/test/index.js index 8483b7c..cb72b31 100644 --- a/test/index.js +++ b/test/index.js @@ -199,8 +199,18 @@ describe("Node",function(){ node.data({age:12}); assert(node.data("name") === "leo" && node.data("age") === 12); - + node.data({age:13}); + assert(node.data("name") === "leo" && node.data("age") === 13); assert(node.data() === node._data); + + var node2 = new Node(); + node2.data({age:12}); + var data = node2.data(); + data.age = data.age + 1; + node2.data(data); + data.age = data.age + 1; + node2.data(data); + assert(data.age === 14); }); it("#json",function(){