editor.getSite().getPage().showView(getRandomView().getId());
long postEnd = System.currentTimeMillis();
// One data should be in the collection (the selected package declaration):
assertEquals(1, tracker.getData().size());
JavaEvent event = tracker.getData().iterator().next();
long start = event.getInterval().getStartMillis();
long end = event.getInterval().getEndMillis();
checkTime(preStart, start, postStart, preEnd, end, postEnd);
assertEquals(getElementAtOffset(editor), event.getElement());
// Now we activate the editor again to see if the tracker will start to
// track events again:
tracker.flushData();
preStart = System.currentTimeMillis();
editor.getSite().getPage().activate(editor);
postStart = System.currentTimeMillis();
Thread.sleep(20);
preEnd = System.currentTimeMillis();
editor.getSite().getPage().showView(getRandomView().getId());
postEnd = System.currentTimeMillis();
// One data should be in the collection (the selected package declaration):
assertEquals(1, tracker.getData().size());
event = tracker.getData().iterator().next();
start = event.getInterval().getStartMillis();
end = event.getInterval().getEndMillis();
checkTime(preStart, start, postStart, preEnd, end, postEnd);
assertEquals(getElementAtOffset(editor), event.getElement());
}