12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Helen Hawkins - Converted to new interface (bug 148190)
- *******************************************************************************/
- package org.aspectj.ajde.core.tests;
-
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.jar.JarInputStream;
- import java.util.jar.Manifest;
-
- import org.aspectj.ajde.core.AjdeCoreTestCase;
- import org.aspectj.ajde.core.TestCompilerConfiguration;
- import org.aspectj.ajde.core.TestMessageHandler;
-
- public class JarManifestTest extends AjdeCoreTestCase {
-
- public static final String outjarName = "/bin/output.jar";
-
- private String[] weave = { "src" + File.separator + "Main.java",
- "src" + File.separator + "Logging.aj" };
-
- private TestMessageHandler handler;
- private TestCompilerConfiguration compilerConfig;
-
- protected void setUp() throws Exception {
- super.setUp();
- initialiseProject("JarManifestTest");
- handler = (TestMessageHandler) getCompiler().getMessageHandler();
- compilerConfig = (TestCompilerConfiguration) getCompiler()
- .getCompilerConfiguration();
- }
-
- protected void tearDown() throws Exception {
- super.tearDown();
- handler = null;
- compilerConfig = null;
- }
-
- public void testWeave () {
- File outjar = openFile(outjarName);
- compilerConfig.setOutjar(outjar.getAbsolutePath());
- compilerConfig.setProjectSourceFiles(getSourceFileList(weave));
- doBuild(true);
- assertTrue("Expected no compiler errors or warnings but found "
- + handler.getMessages(), handler.getMessages().isEmpty());
- checkManifest(outjar);
- }
-
- public void testNoWeave () {
- File outjar = openFile(outjarName);
- compilerConfig.setOutjar(outjar.getAbsolutePath());
- compilerConfig.setProjectSourceFiles(getSourceFileList(weave));
- compilerConfig.setNonStandardOptions("-XterminateAfterCompilation");
- doBuild(true);
- assertTrue("Expected no compiler errors or warnings but found "
- + handler.getMessages(), handler.getMessages().isEmpty());
- checkManifest(outjar);
- }
-
- private void checkManifest (File outjarFile) {
- Manifest manifest = null;
-
- try {
- JarInputStream outjar = new JarInputStream(new FileInputStream(outjarFile));
- manifest = outjar.getManifest();
- outjar.close();
- assertNotNull("'" + outjarFile.getCanonicalPath() + "' should contain a manifest",manifest);
- }
- catch (IOException ex) {
- fail(ex.toString());
- }
- }
- }
|