Ejemplo n.º 1
0
  suite.test('isInSameEditingHost', function () {
    setupHtml(
      '<p>abc</p>' +
      'def' +
      '<span contentEditable="false">' +
      '<span contentEditable="true">ghi</span>' +
      '<span contentEditable="true">jkl</span>' +
      '</span>'
    );

    LegacyUnit.strictEqual(CaretUtils.isInSameEditingHost(
      CaretPosition(findElm('p:first').firstChild, 0),
      CaretPosition(findElm('p:first').firstChild, 1)
    ), true);

    LegacyUnit.strictEqual(CaretUtils.isInSameEditingHost(
      CaretPosition(findElm('p:first').firstChild, 0),
      CaretPosition(getRoot().childNodes[1], 1)
    ), true);

    LegacyUnit.strictEqual(CaretUtils.isInSameEditingHost(
      CaretPosition(findElm('span span:first').firstChild, 0),
      CaretPosition(findElm('span span:first').firstChild, 1)
    ), true);

    LegacyUnit.strictEqual(CaretUtils.isInSameEditingHost(
      CaretPosition(findElm('p:first').firstChild, 0),
      CaretPosition(findElm('span span:first').firstChild, 1)
    ), false);

    LegacyUnit.strictEqual(CaretUtils.isInSameEditingHost(
      CaretPosition(findElm('span span:first').firstChild, 0),
      CaretPosition(findElm('span span:last').firstChild, 1)
    ), false);
  });
Ejemplo n.º 2
0
 suite.test('Constructor', function () {
   setupHtml('abc');
   LegacyUnit.equalDom(CaretPosition(getRoot(), 0).container(), getRoot());
   LegacyUnit.strictEqual(CaretPosition(getRoot(), 1).offset(), 1);
   LegacyUnit.equalDom(CaretPosition(getRoot().firstChild, 0).container(), getRoot().firstChild);
   LegacyUnit.strictEqual(CaretPosition(getRoot().firstChild, 1).offset(), 1);
 });
Ejemplo n.º 3
0
 suite.test('getClientRects at only one text node should return client rects', function () {
   setupHtml('<p>a<br>b</p>');
   LegacyUnit.equal(CaretPosition(getRoot().firstChild.firstChild, 0).getClientRects().length > 0, true);
   LegacyUnit.equal(CaretPosition(getRoot().firstChild.firstChild, 1).getClientRects().length > 0, true);
   LegacyUnit.equal(CaretPosition(getRoot().firstChild.lastChild, 0).getClientRects().length > 0, true);
   LegacyUnit.equal(CaretPosition(getRoot().firstChild.lastChild, 1).getClientRects().length > 0, true);
 });
Ejemplo n.º 4
0
  suite.test('getNode (before)', function () {
    setupHtml('<b>abc</b><input><input>');

    LegacyUnit.equalDom(CaretPosition(getRoot().firstChild.firstChild, 0).getNode(true), getRoot().firstChild.firstChild);
    LegacyUnit.equalDom(CaretPosition(getRoot(), 1).getNode(true), getRoot().childNodes[0]);
    LegacyUnit.equalDom(CaretPosition(getRoot(), 2).getNode(true), getRoot().childNodes[1]);
    LegacyUnit.equalDom(CaretPosition(getRoot(), 3).getNode(true), getRoot().childNodes[2]);
  });
Ejemplo n.º 5
0
  suite.test('getClientRects at extending character', function () {
    setupHtml('a');
    const textNode = getRoot().firstChild as Text;
    textNode.appendData('\u0301b');

    LegacyUnit.equal(CaretPosition(getRoot().firstChild, 0).getClientRects().length, 1);
    LegacyUnit.equal(CaretPosition(getRoot().firstChild, 1).getClientRects().length, 0);
    LegacyUnit.equal(CaretPosition(getRoot().firstChild, 2).getClientRects().length, 1);
  });
Ejemplo n.º 6
0
 suite.test('fromRangeStart', function () {
   setupHtml('abc');
   CaretAsserts.assertCaretPosition(CaretPosition.fromRangeStart(createRange(getRoot(), 0)), CaretPosition(getRoot(), 0));
   CaretAsserts.assertCaretPosition(CaretPosition.fromRangeStart(createRange(getRoot(), 1)), CaretPosition(getRoot(), 1));
   CaretAsserts.assertCaretPosition(
     CaretPosition.fromRangeStart(createRange(getRoot().firstChild, 1)),
     CaretPosition(getRoot().firstChild, 1)
   );
 });
Ejemplo n.º 7
0
  suite.test('isAfterContentEditableFalse', function () {
    setupHtml(
      '<span contentEditable="false"></span>' +
      '<span contentEditable="false"></span>a'
    );

    LegacyUnit.strictEqual(CaretUtils.isAfterContentEditableFalse(CaretPosition(getRoot(), 0)), false);
    LegacyUnit.strictEqual(CaretUtils.isAfterContentEditableFalse(CaretPosition(getRoot(), 1)), true);
    LegacyUnit.strictEqual(CaretUtils.isAfterContentEditableFalse(CaretPosition(getRoot(), 2)), true);
    LegacyUnit.strictEqual(CaretUtils.isAfterContentEditableFalse(CaretPosition(getRoot(), 3)), false);
  });
Ejemplo n.º 8
0
  suite.test('isBeforeContentEditableFalse', () => {
    setupHtml(
      '<span contentEditable="false"></span>' +
      '<span contentEditable="false"></span>a'
    );

    LegacyUnit.strictEqual(isBeforeContentEditableFalse(CaretPosition(getRoot(), 0)), true);
    LegacyUnit.strictEqual(isBeforeContentEditableFalse(CaretPosition(getRoot(), 1)), true);
    LegacyUnit.strictEqual(isBeforeContentEditableFalse(CaretPosition(getRoot(), 2)), false);
    LegacyUnit.strictEqual(isBeforeContentEditableFalse(CaretPosition(getRoot(), 3)), false);
  });
Ejemplo n.º 9
0
 suite.test('from index text node over comment', function () {
   setupHtml('abcd<!-- x -->abcd');
   CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 0)), CaretPosition(getRoot().firstChild, 0));
   CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 1)), CaretPosition(getRoot().lastChild, 0));
   CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 2)), CaretPosition(getRoot().firstChild, 4));
   CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 3)), CaretPosition(getRoot().lastChild, 4));
 });
Ejemplo n.º 10
0
 suite.test('over cE=false', function () {
   setupHtml('123<span contentEditable="false">a</span>456');
   CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot().firstChild, 3)), CaretPosition(getRoot(), 1));
   CaretAsserts.assertCaretPosition(logicalCaret.next(CaretPosition(getRoot(), 1)), CaretPosition(getRoot(), 2));
   CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot(), 2)), CaretPosition(getRoot(), 1));
   CaretAsserts.assertCaretPosition(logicalCaret.prev(CaretPosition(getRoot().lastChild, 0)), CaretPosition(getRoot(), 2));
 });