package org.easyb.launch.launcher; import java.io.File; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; public class ClasspathBuilderTest extends TestCase{ private static final String EASYB_JAR_NAME = "easyb-0.9.6.jar"; private static final String GROOVY_JAR_NAME = "groovy-1.6.4.jar"; private static final String CLI_JAR_NAME = "commons-cli-1.2.jar"; private static final String BUNDLE_PATH = File.separator+ "org.easyb.eclipse.launch.ui"+ File.separator+"resources"+ File.separator+"easyblib"+ File.separator; @Override protected void setUp() throws Exception { } public void testGetRuntimeClassPath()throws Exception{ String[] clzPath = new String[]{"test.jar","test2.jar"}; String[] newClzPath = ClasspathBuilder.getRuntimeClasspath(clzPath); //Absolute classpath so shouldn`t start at 0 //for bundle plugins int foundPath = 0; for(String path : newClzPath){ if(path.lastIndexOf(BUNDLE_PATH+EASYB_JAR_NAME)>0){ foundPath++; }else if(path.lastIndexOf(BUNDLE_PATH+GROOVY_JAR_NAME)>0){ foundPath++; }else if(path.lastIndexOf(BUNDLE_PATH+CLI_JAR_NAME)>0){ foundPath++; }else if(path.lastIndexOf(clzPath[0])>=0){ foundPath++; }else if(path.lastIndexOf(clzPath[1])>=0){ foundPath++; } } assertEquals(5,foundPath); } public void testGetRuntimeClassPathWithNullUserClassPath()throws Exception{ String[] newClzPath = ClasspathBuilder.getRuntimeClasspath(null); //Absolute classpath so shouldn`t start at 0 //for bundle plugins int foundPath = 0; for(String path : newClzPath){ if(path.lastIndexOf(BUNDLE_PATH+EASYB_JAR_NAME)>0){ foundPath++; }else if(path.lastIndexOf(BUNDLE_PATH+GROOVY_JAR_NAME)>0){ foundPath++; }else if(path.lastIndexOf(BUNDLE_PATH+CLI_JAR_NAME)>0){ foundPath++; } } assertEquals(3,foundPath); } public void testGetLibraryFolder()throws Exception{ File folder = ClasspathBuilder.getLibraryFolder(); assertTrue(folder.exists()); assertTrue(folder.canRead()); assertTrue(folder.isDirectory()); assertFalse(folder.isHidden()); } public void testGetDefaultJarNames()throws Exception{ String[] newClzPath = ClasspathBuilder.getDefaultJarNames(); List<String> listPath = Arrays.asList(newClzPath); assertTrue(listPath.contains(EASYB_JAR_NAME)); assertTrue(listPath.contains(GROOVY_JAR_NAME)); assertTrue(listPath.contains(CLI_JAR_NAME)); } }