import { Assert, UnitTest } from '@ephox/bedrock-client'; import * as Compare from 'ephox/sugar/api/dom/Compare'; import * as DocumentPosition from 'ephox/sugar/api/dom/DocumentPosition'; import * as Insert from 'ephox/sugar/api/dom/Insert'; import * as InsertAll from 'ephox/sugar/api/dom/InsertAll'; import * as Remove from 'ephox/sugar/api/dom/Remove'; import * as SugarBody from 'ephox/sugar/api/node/SugarBody'; import { SugarElement } from 'ephox/sugar/api/node/SugarElement'; import * as Html from 'ephox/sugar/api/properties/Html'; UnitTest.test('DocumentPositionTest', () => { const container = SugarElement.fromTag('div'); const p1 = SugarElement.fromTag('p'); const p1t1 = SugarElement.fromText('p1text'); const p1t2 = SugarElement.fromText('p2text'); const p1s1 = SugarElement.fromTag('span'); const p1s1t1 = SugarElement.fromText('spantext'); /* Note: this looks like *
* p1text * p2text * * spantext * *
*One, two...`, true, Compare.eq(p11, DocumentPosition.commonAncestorContainer(p1text, 0, p1span2, 0))); Assert.eq('lca(p1span1,0,p1span2,0)===' + Html.getOuter(DocumentPosition.commonAncestorContainer(p1span1, 0, p1span2, 0)) + `, expected: 'p1span': cat dog `, true, Compare.eq(p1span, DocumentPosition.commonAncestorContainer(p1span1, 0, p1span2, 0))); })(); });