WIP: Refactoring canvas api - canvas, canvasNode + tests
[fnpeditor.git] / modules / documentCanvas / tests / canvasNode.test.js
diff --git a/modules/documentCanvas/tests/canvasNode.test.js b/modules/documentCanvas/tests/canvasNode.test.js
new file mode 100644 (file)
index 0000000..bc11a80
--- /dev/null
@@ -0,0 +1,47 @@
+define([\r
+'libs/jquery-1.9.1.min',\r
+'libs/chai', \r
+'./utils.js',\r
+'modules/documentCanvas/canvasNode'\r
+], function($, chai, utils, canvasNode) {\r
+\r
+'use strict';\r
+\r
+var assert = chai.assert;\r
+\r
+var assertDomEqual = function(lhs, rhs) {\r
+   lhs.attr('id', '');\r
+   rhs.attr('id', '');\r
+   return assert.ok(lhs[0].isEqualNode(rhs[0]), 'nodes are equal');\r
+\r
+}\r
+\r
+suite('Create canvas node', function() {  \r
+    test('from description', function() {\r
+        var node = canvasNode.create({tag: 'header', klass: 'some-class', content: 'some text content'});\r
+        assert.equal(node.getTag(), 'header');\r
+        assert.equal(node.getClass(), 'some-class');\r
+        assert.equal(node.getContent(), 'some text content');\r
+        assertDomEqual($('<div wlxml-tag="header" wlxml-class="some-class">some text content</div>'), node.dom);\r
+    });\r
+    \r
+    test('from dom object', function() {\r
+        var node = canvasNode.create($('<div wlxml-tag="header" wlxml-class="some-class" id="1">'));\r
+        assert.equal(node.getTag(), 'header');\r
+        assert.equal(node.getClass(), 'some-class');\r
+        //assertDomEqual($('<div wlxml-tag="header" wlxml-class="some-class">'), node.dom);\r
+    });\r
+});\r
+\r
+suite('comparing nodes', function() {\r
+    test('isSame', function() {\r
+        var html = '<div wlxml-class="some-class" wlxml-tag="some-tag">';\r
+        var dom1 = $(html);\r
+        var dom2 = $(html);\r
+        assert.ok(canvasNode.create(dom1).isSame(canvasNode.create(dom1)));\r
+        assert.notOk(canvasNode.create(dom1).isSame(canvasNode.create(dom2)));\r
+    });\r
+});\r
+\r
+\r
+});
\ No newline at end of file