コード例 #1
0
 suite.test('create deep element index', function () {
   setupHtml('<p><span>a</span><span><b id="a"></b><b id="b"></b><b id="c"></b></span></p>');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(document.getElementById('a'))), 'p[0]/span[1]/b[0],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(document.getElementById('b'))), 'p[0]/span[1]/b[1],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(document.getElementById('c'))), 'p[0]/span[1]/b[2],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.after(document.getElementById('c'))), 'p[0]/span[1]/b[2],after');
 });
コード例 #2
0
 suite.test('create element index', function () {
   setupHtml('<b></b><i></i><b></b>');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().childNodes[0])), 'b[0],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().childNodes[1])), 'i[0],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().childNodes[2])), 'b[1],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.after(getRoot().childNodes[2])), 'b[1],after');
 });
コード例 #3
0
 suite.test('create deep text index', function () {
   setupHtml('<p><span>a</span><span id="x">a<b></b>b<b></b>ccc</span></p>');
   LegacyUnit.equal(
     CaretBookmark.create(getRoot(), createTextPos(document.getElementById('x').childNodes[0], 0)),
     'p[0]/span[1]/text()[0],0'
   );
   LegacyUnit.equal(
     CaretBookmark.create(getRoot(), createTextPos(document.getElementById('x').childNodes[2], 1)),
     'p[0]/span[1]/text()[1],1'
   );
   LegacyUnit.equal(
     CaretBookmark.create(getRoot(), createTextPos(document.getElementById('x').childNodes[4], 3)),
     'p[0]/span[1]/text()[2],3'
   );
 });
コード例 #4
0
  suite.test('create text index on fragmented text nodes', function () {
    setupHtml('a');
    getRoot().appendChild(document.createTextNode('b'));
    getRoot().appendChild(document.createTextNode('c'));
    getRoot().appendChild(document.createElement('b'));
    getRoot().appendChild(document.createTextNode('d'));
    getRoot().appendChild(document.createTextNode('e'));

    LegacyUnit.equal(getRoot().childNodes.length, 6);
    LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[0], 0)), 'text()[0],0');
    LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[1], 0)), 'text()[0],1');
    LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[2], 0)), 'text()[0],2');
    LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[4], 0)), 'text()[1],0');
    LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[5], 0)), 'text()[1],1');
  });
コード例 #5
0
 suite.test('create element index from bogus', function () {
   setupHtml('<b></b><span data-mce-bogus="1"><b></b><span data-mce-bogus="1"><b></b><b></b></span></span>');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().lastChild.lastChild.childNodes[1])), 'b[3],before');
 });
コード例 #6
0
 suite.test('create br element index', function () {
   setupHtml('<p><br data-mce-bogus="1"></p><p><br></p>');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().firstChild.firstChild)), 'p[0]/br[0],before');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), CaretPosition.before(getRoot().lastChild.firstChild)), 'p[1]/br[0],before');
 });
コード例 #7
0
 suite.test('create text index', function () {
   setupHtml('a<b></b>b<b></b>ccc');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[0], 0)), 'text()[0],0');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[2], 1)), 'text()[1],1');
   LegacyUnit.equal(CaretBookmark.create(getRoot(), createTextPos(getRoot().childNodes[4], 3)), 'text()[2],3');
 });