| /******************************************************************************* |
| * Copyright (c) 2004, 2012 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.core.tests.runtime.compatibility; |
| |
| import java.io.IOException; |
| import junit.framework.*; |
| import org.eclipse.core.runtime.*; |
| import org.eclipse.core.tests.harness.BundleTestingHelper; |
| import org.eclipse.core.tests.runtime.RuntimeTestsPlugin; |
| import org.osgi.framework.*; |
| |
| public class PluginCompatibilityTests extends TestCase { |
| |
| public PluginCompatibilityTests(String name) { |
| super(name); |
| } |
| |
| // see bug 59013 |
| public void testPluginWithNoRuntimeLibrary() throws BundleException, IOException { |
| assertNull("0.0", BundleTestingHelper.getBundles(RuntimeTestsPlugin.getContext(), "bundle01", "1.0")); |
| BundleTestingHelper.runWithBundles("0.1", new Runnable() { |
| public void run() { |
| Bundle[] installed = BundleTestingHelper.getBundles(RuntimeTestsPlugin.getContext(), "bundle01", "1.0"); |
| assertEquals("1.0", 1, installed.length); |
| assertEquals("1.0", "bundle01", installed[0].getSymbolicName()); |
| assertEquals("1.1", new Version("1.0"), new Version((String) installed[0].getHeaders().get(Constants.BUNDLE_VERSION))); |
| assertEquals("1.2", Bundle.RESOLVED, installed[0].getState()); |
| IPluginDescriptor descriptor = Platform.getPluginRegistry().getPluginDescriptor("bundle01", new PluginVersionIdentifier("1.0")); |
| assertNotNull("2.0", descriptor); |
| assertNotNull("2.1", descriptor.getRuntimeLibraries()); |
| // see bug 89845. Changed in 3.1...even bundles with no libraries have "dot" |
| // on the classpath |
| assertEquals("2.2", 1, descriptor.getRuntimeLibraries().length); |
| assertEquals("2.3", ".", descriptor.getRuntimeLibraries()[0].getPath().toString()); |
| } |
| }, RuntimeTestsPlugin.getContext(), new String[] {RuntimeTestsPlugin.TEST_FILES_ROOT + "compatibility/bundle01"}, null); |
| } |
| |
| public static Test suite() { |
| return new TestSuite(PluginCompatibilityTests.class); |
| } |
| } |