List of usage examples for org.eclipse.jdt.core IJavaElement PACKAGE_DECLARATION
int PACKAGE_DECLARATION
To view the source code for org.eclipse.jdt.core IJavaElement PACKAGE_DECLARATION.
Click Source Link
From source file:rabbit.tracking.internal.trackers.JavaTrackerTest.java
License:Apache License
/** * This test is for the same purpose as//from w ww .j av a2 s . c o m * {@link #testFilter_deletedElement_typeMembers()}, but with a little * difference, that is, if the whole Java file is deleted, all the data about * the Java elements in the file will be stored under the Java file, even * though it's deleted. * * @see #testFilter_deletedElement_typeMembers() */ @Test public void testFilter_deletedElement_mainType() throws Exception { // Create a new class: String newClassName = unit.getTypes()[0].getElementName() + "abc"; StringBuilder builder = new StringBuilder(); builder.append(format("package %s;%n", pkg.getElementName())); builder.append(format("public class %s {", newClassName)); builder.append(format("}%n")); ICompilationUnit myUnit = pkg.createCompilationUnit(newClassName + ".java", builder.toString(), true, null); JavaEditor editor = closeAndOpenEditor(myUnit); // Set the editor to select the package declaration: int offset = getDocument(editor).get().indexOf(pkg.getElementName()); int len = pkg.getElementName().length(); editor.getSelectionProvider().setSelection(new TextSelection(offset, len)); // Make sure we got the selection right: assertEquals(IJavaElement.PACKAGE_DECLARATION, getElementAtOffset(editor).getElementType()); // Run the tracker to capture the event: long preStart = System.currentTimeMillis(); tracker.setEnabled(true); long postStart = System.currentTimeMillis(); Thread.sleep(35); long preEnd = System.currentTimeMillis(); tracker.setEnabled(false); long postEnd = System.currentTimeMillis(); // Delete the file: myUnit.getResource().delete(true, null); // Ask the tracker to save the data, the data should be appropriately // filtered tracker.saveData(); // One data should be in the collection (the parent of the previously // 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); // Test the data is placed under the root element: assertEquals(myUnit, event.getElement()); }
From source file:rabbit.tracking.internal.trackers.JavaTrackerTest.java
License:Apache License
/** * Test an event on an package declaration. This event should be filtered on * save, so that instead of showing a user spent x amount of time on the * package declaration , we show that a user spent x amount of time on the * main type element./*w w w . j a va 2 s . c om*/ */ @Test public void testFilter_existingElement_packageDeclaration() throws Exception { JavaEditor editor = closeAndOpenEditor(); IDocument document = getDocument(editor); int offset = document.get().indexOf(pkg.getElementName()); int len = pkg.getElementName().length(); editor.getSelectionProvider().setSelection(new TextSelection(offset, len)); IJavaElement element = getElementAtOffset(editor); // Make sure we got the selection right: assertEquals(IJavaElement.PACKAGE_DECLARATION, element.getElementType()); long preStart = System.currentTimeMillis(); tracker.setEnabled(true); long postStart = System.currentTimeMillis(); Thread.sleep(30); long preEnd = System.currentTimeMillis(); tracker.setEnabled(false); long postEnd = System.currentTimeMillis(); // Ask the tracker to save the data, the data should be appropriately // filtered tracker.saveData(); 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(element.getParent(), event.getElement()); }