X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/ac31ad7e5c9642a6703ae75ca072a43255e4a230..9c680e17e94d8299a55ac811bca76e73339d02f0:/modules/documentCanvas/tests/canvasNode.test.js diff --git a/modules/documentCanvas/tests/canvasNode.test.js b/modules/documentCanvas/tests/canvasNode.test.js index 5dccf7b..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,18 +67,42 @@ 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'); + }); + + 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'); + + 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