Bug 25014 JUnit TestCase Wizard accepts empty string as test case name[junit]
Version: 2.0 Build id: 200210161553 The JUnit TestCase wizard accepts empty string as the test case name when there is no Java class currently selected. Steps for reproducing the error: 1 - Ensure there is no class currently selected in the Package Explorer (e.g. select a package or project); 2 - Activate New JUnit TestCase wizard; 3 - There will be no test case name selected. The "Finish" button will be disabled. Then erase the "Superclass" field content. The "Finish" button will be enabled. This opens a dialog with a message "Creation of element failed. Reason: Invalid name specified: .java" and a new entry is added to the error log. The stack trace will be attached.
org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/wizards/NewTestCaseCreationWizardPage.java
} catch (JavaModelException e) {
		}
		JUnitStatus status= new JUnitStatus();				
		status.setError(WizardMessages.getString("NewTestClassWizPage.error.junitNotOnbuildpath")); 
		fContainerStatus= status;
	}
	
	/**
	 * Returns the index of the first method that is a test method, i.e. excluding main, setUp() and tearDown().
	 * If none of the aforementioned method stubs is created, then 0 is returned. As such method stubs are created,
	 * this counter is incremented.
	 */
	public int getIndexOfFirstMethod() {
		return fIndexOfFirstTestMethod;
	}
	/**
	 * @see IDialogPage#createControl(Composite)
	 */
	public void createType(IProgressMonitor monitor) throws CoreException, InterruptedException {		
		super.createType(monitor);
		if (fPage2.getCreateTasksButtonSelection()) {
			createTaskMarkers();
		}
	}	
	private void createTaskMarkers() throws CoreException {
		IType createdType= getCreatedType();
		fTestMethods= createdType.getMethods();
		ICompilationUnit cu= createdType.getCompilationUnit();
		cu.save(null, false);
		IResource res= createdType.getCompilationUnit().getResource();