X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/cee08f0b14be951a31544ae708b2a92f6255e61a..032212c1a346b6ab46c582571eafb0c70b6b42c2:/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..2887b4f 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 boundaries', function() { + var doc = getDocumentFromXML('
Alicehasa cat
'), + 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('\
\ @@ -123,10 +136,10 @@ describe('Lists extension', function() { expect(list1.contents()[0].contents()[0].getText()).to.equal('0', 'first item of the first list is a first item of the original list'); expect(oldItem1.contents()[0].getText()).to.equal('1', 'first item got extracted'); - expect(oldItem1.getClass() === '').to.equal(true, 'first extracted element has no wlxml class'); + expect(oldItem1.getClass() === 'p').to.equal(true, 'first extracted element became a paragraph'); expect(oldItem2.contents()[0].getText()).to.equal('2', 'second item got extracted'); - expect(oldItem2.getClass() === '').to.equal(true, 'second extracted element has no wlxml class'); + expect(oldItem2.getClass() === 'p').to.equal(true, 'second extracted element became a paragraph'); expect(list2.is('list')).to.equal(true, 'last section child is a list'); expect(list2.contents().length).to.equal(1, 'second list has one child'); @@ -144,8 +157,7 @@ describe('Lists extension', function() {
')), 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() { \ ')), 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]; @@ -408,7 +414,7 @@ describe('Lists extension', function() { expect(sectionContents[0].is('list')).to.equal(true, 'first child is a list'); expect(extractedItem.getTagName()).to.equal('div', 'extracted item is a wlxml div'); - expect(extractedItem.getClass()).to.equal('', 'extracted item has no wlxml class'); + expect(extractedItem.getClass()).to.equal('p', 'extracted item became a paragraph'); expect(extractedItem.contents()[0].getText()).to.equal('1.1', 'extracted item ok'); expect(sectionContents[2].is('list')).to.equal(true, 'second child is a list'); });