X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/6535ed0c525f70c936a8e25ff38df5157b15c04c..80c653023eaa918f6b736e84d12e17d3c9c24d88:/modules/documentCanvas/tests/canvas.test.js diff --git a/modules/documentCanvas/tests/canvas.test.js b/modules/documentCanvas/tests/canvas.test.js deleted file mode 100644 index 5dc017b..0000000 --- a/modules/documentCanvas/tests/canvas.test.js +++ /dev/null @@ -1,326 +0,0 @@ -define([ -'libs/jquery-1.9.1.min', -'libs/chai', -'./utils.js', -'modules/documentCanvas/canvas', -'modules/documentCanvas/canvasNode' -], function($, chai, utils, canvas, canvasNode) { - - 'use strict'; - - var assert = chai.assert; - var assertDomEqual = utils.assertDomEqual; - - - suite('Quering nodes', function() { - test('getting preceding node', function() { - var c = canvas.create('
a
b
'); - var secondP = c.findNodes({tag: 'p'})[1]; - var firstP = c.getPrecedingNode({node: secondP}); - assert.equal(firstP.getContent(), 'a'); - }); - - test('pervious node of node without "previous siblings" is its parent', function() { - var c = canvas.create('
a
'); - var paragraph = c.findNodes({tag: 'p'})[0]; - assert.equal(c.getPrecedingNode({node: paragraph}).getTag(), 'section'); - }); - - }); - - - suite('Inserting nodes', function() { - test('append node to root', function() { - var c = canvas.create(); - var node = canvasNode.create({tag: 'header', klass: 'some-class'}); - c.nodeAppend({node: node, to: 'root'}); - assertDomEqual(c.getContent(), '
'); - }); - - test('append node to another node', function() { - var c = canvas.create('
'); - var node = canvasNode.create({tag: 'header', klass: 'some-class'}); - var to = c.findNodes('div')[0]; - c.nodeAppend({node: node, to: to}); - assertDomEqual(c.getContent(), '
'); - }); - - test('insert node after another node', function() { - var c = canvas.create('
'); - var node = canvasNode.create({tag: 'header', klass: 'some-class'}); - var after = c.findNodes('div')[0]; - c.nodeInsertAfter({node: node, after: after}); - assertDomEqual(c.getContent(), '
'); - }); - - test('wrap text in node', function() { - var c = canvas.create('
Header 1
'); - var header = c.findNodes({tag: 'header'})[0]; - var wrapper = canvasNode.create({tag: 'aside'}); - c.nodeWrap({inside: header, _with: wrapper, offsetStart: 1, offsetEnd: 6}); - assertDomEqual(c.getContent(), '
Header 1
'); - }); - - test('wrap text in node - text not a first node', function() { - var c = canvas.create('
Alice has a cat
'); - var header = c.findNodes({tag: 'header'})[0]; - var wrapper = canvasNode.create({tag: 'aside'}); - c.nodeWrap({inside: header, _with: wrapper, offsetStart: 1, offsetEnd: 4, textNodeIdx: 2}); - assertDomEqual(c.getContent(), '
Alice has a cat
'); - }); - - test('wrap text with nodes inside', function() { - var c = canvas.create('
Alice has a small cat
'); - var header = c.findNodes({tag: 'header'})[0]; - var wrapper = canvasNode.create({tag: 'aside'}); - c.nodeWrap({inside: header, _with: wrapper, offsetStart: 6, offsetEnd: 4, textNodeIdx: [0,2]}); - assertDomEqual(c.getContent(), '
Alice has a small cat
'); - }); - - test('unwrap text', function() { - var c = canvas.create('
Alice has a cat
'); - var span = c.findNodes({tag:'span'})[0]; - c.nodeUnwrap({node: span}); - assertDomEqual(c.getContent(), '
Alice has a cat
'); - }); - - test('unwrap text - first text node', function() { - var c = canvas.create('
Alice has a cat
'); - var span = c.findNodes({tag:'span'})[0]; - c.nodeUnwrap({node: span}); - assertDomEqual(c.getContent(), '
Alice has a cat
'); - }); - - test('unwrap text - only text node', function() { - var c = canvas.create('
Alice
'); - var span = c.findNodes({tag:'span'})[0]; - c.nodeUnwrap({node: span}); - assertDomEqual(c.getContent(), '
Alice
'); - }); - - - test('unwrap text - non text neighbours', function() { - var c = canvas.create('
a
Alice
b
'); - var span = c.findNodes({tag:'span'})[0]; - c.nodeUnwrap({node: span}); - assertDomEqual(c.getContent(), '
a
Alice
b
'); - }); - - test('split node', function() { - var c = canvas.create('
Header 1
'); - var header = c.findNodes({tag: 'header'})[0]; - var newNode = c.nodeSplit({node: header, offset: 4}); - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
Head
\ -
er 1
\ -
')); - assert.ok(newNode.isSame(c.findNodes({tag: 'header'})[1])); - }); - - test('split root node', function() { - var c = canvas.create('
cat
'); - var header = c.findNodes({tag: 'header'})[0]; - var newNode = c.nodeSplit({node: header, offset: 1}); - assertDomEqual(c.getContent(), utils.cleanUp('\ -
c
\ -
at
')); - assert.ok(newNode.isSame(c.findNodes({tag: 'header'})[1])); - }); - - test('split node with subnodes', function() { - var c = canvas.create(utils.cleanUp('\ -
\ -
Fancy and niceheader 1
\ -
')); - var header = c.findNodes({tag: 'header'})[0]; - var newNode = c.nodeSplit({node: header, offset: 5}); - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
Fancy
\ -
and niceheader 1
\ -
')); - }); - - test('remove node', function() { - var c = canvas.create('
some text
'); - var span = c.findNodes({tag: 'span'})[0]; - c.nodeRemove({node: span}); - assertDomEqual(c.getContent(), '
'); - }); - }); - - - suite('Lists', function() { - test('create from existing nodes', function() { - var c = canvas.create(utils.cleanUp('\ -
\ -
alice
\ - has\ -
a
\ -
cat
\ -
or not
\ -
' - )); - - var div_alice = c.findNodes({tag: 'div'})[0]; - var div_cat = c.findNodes({tag:'div'})[2]; - - c.listCreate({start: div_alice, end: div_cat}); - - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
\ -
alice
\ -
has
\ -
a
\ -
cat
\ -
\ -
or not
\ -
')); - }); - - test('create from existing nodes - start/end order doesn\'t matter', function() { - var html = utils.cleanUp('\ -
alice
\ -
cat
'); - var expected = utils.cleanUp('\ -
\ -
alice
\ -
cat
\ -
'); - - var c = canvas.create(html); - var div_alice = c.findNodes({tag: 'div'})[0]; - var div_cat = c.findNodes({tag:'div'})[1]; - c.listCreate({start: div_cat, end: div_alice}); - assertDomEqual(c.getContent(), expected); - - c = canvas.create(html); - div_alice = c.findNodes({tag: 'div'})[0]; - div_cat = c.findNodes({tag:'div'})[1]; - c.listCreate({start: div_alice, end: div_cat}); - assertDomEqual(c.getContent(), expected); - }); - - test('remove', function() { - var c = canvas.create(utils.cleanUp('\ -
\ -
\ -
alice
\ -
cat
\ -
\ -
')); - var item = c.findNodes({klass: 'item'})[1]; - c.listRemove({pointer: item}); - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
alice
\ -
cat
\ -
')); - }); - - test('checking if node is inside a list', function() { - var c = canvas.create(utils.cleanUp('\ -
\ -
\ -
alice \ -
cat
\ -
\ -
')); - assert.ok(c.nodeInsideList({node: c.findNodes({klass: 'item'})[1]}), 'item is inside a list'); - assert.ok(c.nodeInsideList({node: c.findNodes({tag: 'span'})[0]}), 'things nested in item are inside a list'); - }); - - test('moving items to nested list', function() { - var listHTML = utils.cleanUp('\ -
\ -
alice
\ -
cat
\ -
dog
\ -
bee
\ -
'); - var c = canvas.create(listHTML); - var items = c.findNodes({klass: 'item'}); - var cat_item = items[1]; - var dog_item = items[2]; - - c.listCreate({start: cat_item, end: dog_item}); - - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
alice
\ -
\ -
\ -
cat
\ -
dog
\ -
\ -
\ -
bee
\ -
' - )); - }); - - test('removing nested list', function() { - var nestedList = utils.cleanUp('\ -
\ -
alice
\ -
\ -
\ -
cat
\ -
dog
\ -
\ -
\ -
bee
\ -
'); - - var c = canvas.create(nestedList); - var dog_item = c.findNodes('[wlxml-class=list-items] [wlxml-class=list-items] > div')[1]; - assert.equal(dog_item.getContent(), 'dog'); - - c.listRemove({pointer: dog_item}); - - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
alice
\ -
cat
\ -
dog
\ -
bee
\ -
')); - - - }); - - test('removing list containing nested list', function() { - var nestedList = utils.cleanUp('\ -
\ -
\ -
alice
\ -
\ -
\ -
cat
\ -
dog
\ -
\ -
\ -
bee
\ -
\ -
'); - - var c = canvas.create(nestedList); - var alice_item = c.findNodes('[wlxml-class=list-items] > div')[0]; - assert.equal(alice_item.getContent(), 'alice'); - - c.listRemove({pointer: alice_item}); - - assertDomEqual(c.getContent(), utils.cleanUp('\ -
\ -
alice
\ -
cat
\ -
dog
\ -
bee
\ -
')); - - - }); - }); -}); \ No newline at end of file