*/
@Test
public void testElementEvents()
{
final Node node = new Node();
class TestAdapter extends ElementAdapter
{
private static final long serialVersionUID = -6339447807055123781L;
public boolean removedFromDoc = false;
public boolean insertedIntoDoc = false;
public boolean inserted = false;
public boolean removed = false;
@Override
public void elementRemovedFromDocument(final Element element)
{
this.removedFromDoc = true;
}
@Override
public void elementRemoved(final Element element)
{
this.removed = true;
}
@Override
public void elementInsertedIntoDocument(final Element element)
{
this.insertedIntoDoc = true;
}
@Override
public void elementInserted(final Element element)
{
this.inserted = true;
}
public void reset()
{
this.removed = false;
this.inserted = false;
this.removedFromDoc = false;
this.insertedIntoDoc = false;
}
}
final TestAdapter adapter = new TestAdapter();
node.addElementListener(adapter);
assertFalse(adapter.inserted);
assertFalse(adapter.insertedIntoDoc);
assertFalse(adapter.removed);
assertFalse(adapter.removedFromDoc);
final Document doc = new Document();
final Node parent1 = new Node();
doc.addChild(parent1);
final Node parent2 = new Node();
doc.addChild(parent2);
parent1.addChild(node);
assertTrue(adapter.inserted);
assertTrue(adapter.insertedIntoDoc);
assertFalse(adapter.removed);
assertFalse(adapter.removedFromDoc);
adapter.reset();
parent2.addChild(node);
assertTrue(adapter.inserted);
assertFalse(adapter.insertedIntoDoc);
assertTrue(adapter.removed);
assertFalse(adapter.removedFromDoc);
adapter.reset();
parent2.removeChild(node);
assertFalse(adapter.inserted);
assertFalse(adapter.insertedIntoDoc);
assertTrue(adapter.removed);
assertTrue(adapter.removedFromDoc);
}