X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/ff17619a4071364ea15383c696cb7e84b6c83089..0b195120fbfdc78b01142167f82dbe8e5670da4b:/modules/documentCanvas/tests/canvasNode.test.js diff --git a/modules/documentCanvas/tests/canvasNode.test.js b/modules/documentCanvas/tests/canvasNode.test.js index f944d90..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,17 +67,41 @@ 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'); }); });