| /******************************************************************************* |
| * Copyright (c) 2000, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.jdt.ui.tests.activation; |
| |
| import java.util.Arrays; |
| import java.util.HashSet; |
| import java.util.Set; |
| |
| import junit.framework.TestCase; |
| import org.eclipse.core.runtime.IPluginDescriptor; |
| import org.eclipse.core.runtime.Platform; |
| import org.eclipse.jdt.core.ICompilationUnit; |
| import org.eclipse.jdt.core.IJavaProject; |
| import org.eclipse.jdt.core.IPackageFragment; |
| import org.eclipse.jdt.core.IPackageFragmentRoot; |
| import org.eclipse.jdt.internal.ui.javaeditor.EditorUtility; |
| import org.eclipse.jdt.testplugin.JavaProjectHelper; |
| import org.eclipse.ui.IWorkbench; |
| import org.eclipse.ui.IWorkbenchPage; |
| import org.eclipse.ui.PlatformUI; |
| |
| public class JavaActivationTest extends TestCase { |
| |
| private IJavaProject project; |
| |
| protected void setUp() throws Exception { |
| project= JavaProjectHelper.createJavaProject("TestProject1", "bin"); |
| } |
| |
| protected void tearDown() throws Exception { |
| getPage().closeAllEditors(false); |
| JavaProjectHelper.delete(project); |
| } |
| |
| private IWorkbenchPage getPage() { |
| IWorkbench workbench= PlatformUI.getWorkbench(); |
| return workbench.getActiveWorkbenchWindow().getActivePage(); |
| } |
| |
| private ICompilationUnit createTestCU() throws Exception { |
| IPackageFragmentRoot sourceFolder= JavaProjectHelper.addSourceContainer(project, "src"); |
| IPackageFragment pack= sourceFolder.createPackageFragment("pack0", false, null); |
| StringBuffer buf= new StringBuffer(); |
| buf.append("package pack0;\n"); |
| buf.append("public class List1 {\n}\n"); |
| return pack.createCompilationUnit("List1.java", buf.toString(), false, null); |
| } |
| |
| public void testOpenJavaEditor() throws Exception { |
| String[] expectedActivations= { |
| // activated since running tests |
| "org.eclipse.jdt.junit.runtime", |
| "org.eclipse.pde.junit.runtime", |
| "org.eclipse.jdt.ui.tests", |
| "org.junit", |
| |
| // expected activations |
| "org.osgi.framework", |
| "org.eclipse.osgi.services", |
| "org.eclipse.osgi.util", |
| "org.eclipse.core.runtime", |
| "org.eclipse.update.configurator", |
| "org.eclipse.compare", |
| "org.eclipse.core.filebuffers", |
| "org.eclipse.core.resources", |
| "org.eclipse.core.runtime.compatibility", |
| "org.eclipse.debug.core", |
| "org.eclipse.debug.ui", // ??? |
| "org.eclipse.help", |
| "org.eclipse.jdt.core", |
| "org.eclipse.jdt.ui", |
| "org.eclipse.jface", |
| "org.eclipse.jface.text", |
| "org.eclipse.swt", |
| "org.eclipse.team.core", |
| "org.eclipse.text", |
| "org.eclipse.ui", |
| "org.eclipse.ui.editors", |
| "org.eclipse.ui.externaltools", // ??? |
| "org.eclipse.ui.ide", |
| "org.eclipse.ui.views", |
| "org.eclipse.ui.workbench", |
| "org.eclipse.ui.workbench.texteditor", |
| "org.eclipse.update.core", |
| "org.eclipse.update.scheduler" // ??? |
| }; |
| ICompilationUnit unit= createTestCU(); |
| EditorUtility.openInEditor(unit); |
| IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors(); |
| |
| Set set= new HashSet(); |
| set.addAll(Arrays.asList(expectedActivations)); |
| |
| for (int i = 0; i < descriptors.length; i++) { |
| IPluginDescriptor descriptor= descriptors[i]; |
| String uniqueIdentifier= descriptor.getUniqueIdentifier(); |
| if (descriptor.isPluginActivated()) |
| assertTrue ("plugin should not be activated: "+uniqueIdentifier, set.contains(uniqueIdentifier)) ; |
| } |
| } |
| } |