X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/cee08f0b14be951a31544ae708b2a92f6255e61a..edaa08a1858371fbdd9665a0220cb1b9732dd2dc:/src/wlxml/extensions/list/list.test.js diff --git a/src/wlxml/extensions/list/list.test.js b/src/wlxml/extensions/list/list.test.js index faa85da..2d47778 100644 --- a/src/wlxml/extensions/list/list.test.js +++ b/src/wlxml/extensions/list/list.test.js @@ -2,6 +2,9 @@ define(function(require) { 'use strict'; +/* jshint multistr:true */ +/* globals describe, it */ + var chai = require('libs/chai'), wlxml = require('wlxml/wlxml'), expect = chai.expect, @@ -16,6 +19,7 @@ var getDocumentFromXML = function(xml, options) { }; var removeEmptyTextNodes = function(xml) { + /* globals Node */ xml = $($.trim(xml)); xml.find(':not(iframe)') .addBack() @@ -56,6 +60,15 @@ describe('Lists extension', function() { expect(child3.contents()[0].getText()).to.equal('cat'); }); + it('Handles text nodes on the boundries', function() { + var doc = getDocumentFromXML('<section>Alice<span>has</span>a cat</section>'), + textNode1 = doc.root.contents()[0], + textNode2 = doc.root.contents()[2]; + doc.createList({node1: textNode1, node2: textNode2}); + expect(doc.root.contents().length).to.equal(1); + expect(doc.root.contents()[0].is('list')).to.equal(true); + }); + it('allows creating nested list from existing sibling list items', function() { var doc = getDocumentFromXML('\ <section>\ @@ -144,8 +157,7 @@ describe('Lists extension', function() { </section>')), list = doc.root.contents()[0], item1 = list.contents()[0], - item2 = list.contents()[1], - item3 = list.contents()[2]; + item2 = list.contents()[1]; doc.extractItems({item1: item1, item2: item2}); @@ -171,7 +183,6 @@ describe('Lists extension', function() { </div>\ </section>')), list = doc.root.contents()[0], - item1 = list.contents()[0], item2 = list.contents()[1], item3 = list.contents()[2]; @@ -233,9 +244,8 @@ describe('Lists extension', function() { doc.extractItems({item1: nestedListItem, item2: nestedListItem}); //@@ name! - var section = doc.root, - list = section.contents()[0], - item1 = list.contents()[0], + list = doc.root.contents()[0]; + var item1 = list.contents()[0], item2 = list.contents()[1], // item3 = list.contents()[2], item4 = list.contents()[3], // @@ -281,10 +291,8 @@ describe('Lists extension', function() { nestedListItem2 = nestedList.contents()[2]; doc.extractItems({item1: nestedListItem1, item2: nestedListItem2}); - - var section = doc.root, - list = section.contents()[0], - item1 = list.contents()[0], + list = doc.root.contents()[0]; + var item1 = list.contents()[0], item2 = list.contents()[1], item3 = list.contents()[2], item4 = list.contents()[3], @@ -323,9 +331,8 @@ describe('Lists extension', function() { doc.extractItems({item1: nestedListItem1, item2: nestedListItem2}); - var section = doc.root, - list = section.contents()[0], - item1 = list.contents()[0], + list = doc.root.contents()[0]; + var item1 = list.contents()[0], item2 = list.contents()[1], item3 = list.contents()[2], item4 = list.contents()[3], @@ -364,9 +371,8 @@ describe('Lists extension', function() { doc.extractItems({item1: nestedListItem1, item2: nestedListItem2}); - var section = doc.root, - list = section.contents()[0], - item1 = list.contents()[0], + list = doc.root.contents()[0]; + var item1 = list.contents()[0], item2 = list.contents()[1], item3 = list.contents()[2], item4 = list.contents()[3]; @@ -399,7 +405,7 @@ describe('Lists extension', function() { var test = doc.extractItems({item1: nestedListItem, item2: nestedListItem, merge: false}); - expect(test).to.equal(true, 'extraction status ok'); + expect(test.sameNode(nestedListItem)).to.equal(true, 'first item returned'); var sectionContents = section.contents(), extractedItem = sectionContents[1];