String a = a1 + "<p>blah</p>";
create(a);
// GWT doesn't define subList.
Element top = (Element) doc.getDocumentElement().getFirstChild();
Node n1 = doc.getFirstChild(top);
Node n2 = doc.getLastChild(top);
List<Element> all = elementsInner(doc, top);
List<Element> els = Arrays.asList(all.get(0), all.get(1));
Builder b = at(0);
Attributes attrs = attrs("x", "1", "y", "2");
b.replaceAttributes(attrs);
b.elementStart("x", attrs("a", "1"));
b.characters("hello");
b.elementStart("y", attrs("b", "2", "c", "3"));
b.characters("yeah");
b.elementEnd();
b.elementEnd();
String moreText = "more text";
b.characters(moreText);
b.deleteElementStart();
b.deleteCharacters(3);
b.deleteElementStart();
b.deleteCharacters(3);
b.deleteElementEnd();
b.deleteElementEnd();
String moreText2 = "more";
b.characters(moreText2);
consumeNindo(b.build());
checkEvents(
am(top, pairs("x", null, "y", null), attrs),
ci(doc.asElement(top.getFirstChild())),
ti(14, moreText),
cd(23, 10, dl(st("p", attrs("x", "y")), tt("abc"), st("b", attrs("a", "b")),
tt("def"), et("b"), et("p"))),
ti(14 + moreText.length(), moreText2));
checkDeletions(els);