specs = new TestDocument.ElementSpec[]{ spec1, spec};
documentEvent = null;
doc.insert(7, specs);
// We have one paragraph in the root element.
Element root = doc.getDefaultRootElement();
h.check(root.getElementCount(), 3);
// We should now have 2 children in the first paragraph.
Element par1 = root.getElement(0);
h.check(par1.getElementCount(), 2);
Element el = par1.getElement(0);
h.check(el.getStartOffset(), 0);
h.check(el.getEndOffset(), 5);
el = par1.getElement(1);
h.check(el.getStartOffset(), 5);
h.check(el.getEndOffset(), 7);
// We should now have 1 leaf element between the first and second
// paragraph.
el = root.getElement(1);
h.check(el.getElementCount(), 0);
h.check(el.getStartOffset(), 7);
h.check(el.getEndOffset(), 12);
// We should now have 2 children in the first paragraph.
Element par2 = root.getElement(2);
h.check(par2.getElementCount(), 2);
el = par2.getElement(0);
h.check(el.getStartOffset(), 12);
h.check(el.getEndOffset(), 15);
el = par2.getElement(1);
h.check(el.getStartOffset(), 15);
h.check(el.getEndOffset(), 16);
// Some structural changes for the root.
DocumentEvent.ElementChange ec = documentEvent.getChange(root);