X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/1fee1a1755e0b9ce88e1f9df5016f44b9982f368..97033d5ba70b7f85b1594deef72bda77e82fe869:/modules/documentCanvas/tests/canvasNode.test.js diff --git a/modules/documentCanvas/tests/canvasNode.test.js b/modules/documentCanvas/tests/canvasNode.test.js index 0077d46..2452fff 100644 --- a/modules/documentCanvas/tests/canvasNode.test.js +++ b/modules/documentCanvas/tests/canvasNode.test.js @@ -20,15 +20,15 @@ suite('Create canvas node', function() { test('from description', function() { var node = canvasNode.create({ tag: 'header', - klass: 'some-class', + klass: 'uri', content: 'some text content', meta: {uri: 'some uri'} }); assert.equal(node.getTag(), 'header'); - assert.equal(node.getClass(), 'some-class'); + assert.equal(node.getClass(), 'uri'); assert.equal(node.getContent(), 'some text content'); assert.equal(node.getMetaAttr('uri'), 'some uri'); - assertDomEqual($('
some text content
'), node.dom); + assertDomEqual($('
some text content
'), node.dom); }); test('from dom object', function() { @@ -67,22 +67,27 @@ suite('comparing nodes', function() { suite('meta attributes', function() { test('get list of node\'s meta attributes', function() { - var node = canvasNode.create({tag: 'tag', klass: 'klass', meta: {a:1, b:2}}); + var node = canvasNode.create({tag: 'span', klass: 'uri', meta: {uri:'http://some.uri.com'}}); var attrs = node.getMetaAttrs(); - var expected = [{name: 'a', value: '1'}, {name:'b', value: '2'}]; + var expected = [{name: 'uri', value: 'http://some.uri.com'}]; assert.deepEqual(attrs.sort(), expected.sort()); }); + test('get list of node\'s meta attributes when attributes not set', function() { + var node = canvasNode.create({tag: 'span', klass: 'uri'}); + var attrs = node.getMetaAttrs(); + var expected = [{name: 'uri', value: ''}]; + assert.deepEqual(attrs.sort(), expected.sort()); + }); + test('set meta attribute', function() { - var node = canvasNode.create({tag: 'tag', meta: {a:'1'}}); - node.setMetaAttr('a', '2'); - assert.equal(node.dom.attr('wlxml-meta-a'), '2'); + var node = canvasNode.create({tag: 'tag', klass: 'uri', meta: {'uri': 'some uri'}}); + node.setMetaAttr('uri', 'some uri 2'); + assert.equal(node.dom.attr('wlxml-meta-uri'), 'some uri 2'); }); -}); -suite('modifing node', function() { - test('changing class removes meta attributes', function() { + test('changing class changes meta attributes', function() { var node = canvasNode.create({tag: 'span', klass: 'uri', meta: {uri: 'http://some.uri.com'}}); assert.equal(node.getMetaAttr('uri'), 'http://some.uri.com'); @@ -90,7 +95,14 @@ suite('modifing node', function() { node.setClass('author'); assert.equal(node.getMetaAttr('uri'), undefined); - }) -}) + }); + + test('changing class to another with the same attribute keeps the value', function() { + var node = canvasNode.create({tag: 'span', klass: 'uri', meta: {uri: 'http://some.uri.com'}}); + assert.equal(node.getMetaAttr('uri'), 'http://some.uri.com'); + node.setClass('uri-subclass'); + assert.equal(node.getMetaAttr('uri'), 'http://some.uri.com'); + }); +}); }); \ No newline at end of file