package kr.ac.snu.selab.soot.core; import static org.junit.Assert.fail; import java.io.ByteArrayInputStream; import java.io.IOException; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.junit.Before; import org.junit.Test; public class ProjectManagerFailTest { private ProjectManager manager; @Before public void silent() { Logger.getLogger("kr.ac.snu.selab").setLevel(Level.OFF); } @Test public void rootElementParseErrorTest() { StringBuffer buffer = new StringBuffer(); buffer.append("<?xml version=\"1.0\"?>"); buffer.append("<projects1>"); buffer.append("<project name=\"ProjectA\">"); buffer.append("<project_root path=\"PROJECT_ROOT\" />"); buffer.append("<source path=\"SRC\" />"); buffer.append("<output path=\"OUTPUT\" />"); buffer.append("<jimple path=\"JIMPLE\" />"); buffer.append("<classpaths>"); buffer.append("<path>CP1</path>"); buffer.append("<path>CP2</path>"); buffer.append("</classpaths>"); buffer.append("</project>"); buffer.append("</project>"); buffer.append("</projects>"); manager = ProjectManager.getInstance(); ByteArrayInputStream bais = new ByteArrayInputStream(buffer.toString() .getBytes()); try { manager.loadProjects(bais); fail("Project file parse exception should be raised!!"); } catch (ProjectFileParseException e) { } finally { if (bais != null) try { bais.close(); } catch (IOException e) { } } } @Test public void projectElementParseErrorTest() { StringBuffer buffer = new StringBuffer(); buffer.append("<?xml version=\"1.0\"?>"); buffer.append("<projects>"); buffer.append("<project1 name=\"ProjectA\">"); buffer.append("<project_root path=\"PROJECT_ROOT\" />"); buffer.append("<source path=\"SRC\" />"); buffer.append("<output path=\"OUTPUT\" />"); buffer.append("<jimple path=\"JIMPLE\" />"); buffer.append("<classpaths>"); buffer.append("<path>CP1</path>"); buffer.append("<path>CP2</path>"); buffer.append("</classpaths>"); buffer.append("</project>"); buffer.append("</projects>"); manager = ProjectManager.getInstance(); ByteArrayInputStream bais = new ByteArrayInputStream(buffer.toString() .getBytes()); try { manager.loadProjects(bais); fail("Project file parse exception should be raised!!"); } catch (ProjectFileParseException e) { } finally { if (bais != null) try { bais.close(); } catch (IOException e) { } } } }