/**
* Copyright (c) 2005-2008 Aptana, Inc.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Aptana Public License v1.0
* which accompanies this distribution, and is available at
* http://www.aptana.com/legal/apl/.
*
* Redistribution, except as permitted by the above license, is prohibited.
* Any modifications to this file must keep this entire header intact.
*/
package com.aptana.ide.intro.tests.preferences;
import java.util.List;
import junit.framework.TestCase;
import com.aptana.ide.intro.preferences.FeatureDescriptor;
import com.aptana.ide.intro.preferences.FeatureRegistry;
public class FeatureRegistryTest extends TestCase
{
/**
* testGetRequiredFeatures
*/
public void testGetRequiredFeatures()
{
List<FeatureDescriptor> features = FeatureRegistry.getRequiredFeatures();
assertTrue("No required features found", features.size() > 0);
FeatureDescriptor svn = new FeatureDescriptor("com.aptana.ide.intro.tests.feature1", "label", "url", new String[] {
"com.aptana.ide.intro.tests.conflictsWith1" });
assertTrue("Test Required feature not found in required features list", features.contains(svn));
}
public void testGatherUninstalledRequiredFeatures()
{
List<FeatureDescriptor> features = FeatureRegistry.gatherUninstalledRequiredFeatures();
assertTrue("No uninstalled required features found", features.size() > 0);
FeatureDescriptor svn = new FeatureDescriptor("com.aptana.ide.intro.tests.feature1", "label", "url", new String[] {
"com.aptana.ide.intro.tests.conflictsWith1" });
assertTrue("Test Required feature not found in required features list", features.contains(svn));
}
/**
* testIsFeatureIgnored
*/
public void testIsFeatureIgnored()
{
assertTrue(FeatureRegistry.isFeatureIgnored("featurea", new String[] { "featurea", "featureb" }));
assertFalse(FeatureRegistry.isFeatureIgnored("featurec", new String[] { "featurea", "featureb" }));
assertFalse(FeatureRegistry.isFeatureIgnored("featurec", new String[0]));
assertFalse(FeatureRegistry.isFeatureIgnored("featurec", null));
}
/**
* testDoesFeatureConflict
*/
public void testDoesFeatureConflict()
{
FeatureDescriptor noConflicts = new FeatureDescriptor("com.aptana.ide.feature.noconflict",
"Aptana No Conflict", "url", new String[0]);
assertFalse(FeatureRegistry.doesFeatureConflict(noConflicts, new String[] { "featurea", "featureb" }));
FeatureDescriptor svn = new FeatureDescriptor("com.aptana.ide.feature.svn", "Aptana SVN", "url", new String[] {
"featurea", "featureb" });
assertTrue(FeatureRegistry.doesFeatureConflict(svn, new String[] { "featurea", "featureb" }));
assertFalse(FeatureRegistry.doesFeatureConflict(svn, new String[] { "featurec" }));
}
}