]> source.dussan.org Git - aspectj.git/commitdiff
Fixed
authormkersten <mkersten>
Thu, 7 Aug 2003 08:10:01 +0000 (08:10 +0000)
committermkersten <mkersten>
Thu, 7 Aug 2003 08:10:01 +0000 (08:10 +0000)
- 40257: parsing of "../" paths in LST files is broken

Added interactive test for checking compiler task list messages (via browser).

ajbrowser/testsrc/org/aspectj/tools/ajbrowser/BrowserManagerTest.java [deleted file]
ajbrowser/testsrc/org/aspectj/tools/ajbrowser/InteractiveBrowserTest.java [new file with mode: 0644]
ajde/src/org/aspectj/ajde/ui/swing/CompilerMessagesCellRenderer.java
org.aspectj.ajdt.core/testdata/bug-40257/d1/A.java [new file with mode: 0644]
org.aspectj.ajdt.core/testdata/bug-40257/d1/d2/B.java [new file with mode: 0644]
org.aspectj.ajdt.core/testdata/bug-40257/d1/test.lst [new file with mode: 0644]
org.aspectj.ajdt.core/testdata/bug-40257/d3/C.java [new file with mode: 0644]
org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/ajc/AjdtAjcTests.java
org.aspectj.ajdt.core/testsrc/org/aspectj/ajdt/ajc/BuildArgParserTestCase.java

diff --git a/ajbrowser/testsrc/org/aspectj/tools/ajbrowser/BrowserManagerTest.java b/ajbrowser/testsrc/org/aspectj/tools/ajbrowser/BrowserManagerTest.java
deleted file mode 100644 (file)
index 4c14046..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-/* *******************************************************************
- * Copyright (c) 1999-2001 Xerox Corporation, 
- *               2002 Palo Alto Research Center, Incorporated (PARC).
- * All rights reserved. 
- * This program and the accompanying materials are made available 
- * under the terms of the Common Public License v1.0 
- * which accompanies this distribution and is available at 
- * http://www.eclipse.org/legal/cpl-v10.html 
- *  
- * Contributors: 
- *     Xerox/PARC     initial implementation 
- * ******************************************************************/
-
-
-package org.aspectj.tools.ajbrowser;
-
-import java.io.File;
-import javax.swing.*;
-import junit.framework.*;
-//import org.aspectj.asm.*;
-import org.aspectj.bridge.*;
-import org.aspectj.bridge.IMessage;
-import org.aspectj.ajde.*;
-
-/**
- * @author Mik Kersten
- */
-public class BrowserManagerTest extends TestCase {
-
-       public BrowserManagerTest(String name) {
-               super(name);
-       }
-
-       public static TestSuite suite() {
-               TestSuite result = new TestSuite();
-               result.addTestSuite(BrowserManagerTest.class);  
-               return result;
-       }
-
-       public void testInitNoArgs() {
-               //String[] args = { "C:/Dev/aspectj/modules/ajde/testdata/examples/figures-coverage/all.lst" }; 
-               String[] args = { };
-               BrowserManager.getDefault().init(args, true);   
-       }
-
-       public void testAddProjectTask() {
-               BrowserManager.getDefault().init(new String[]{}, true); 
-               Ajde.getDefault().getTaskListManager().addProjectTask(
-                       "project-level task",
-                       IMessage.ERROR);
-
-               assertTrue("confirmation result", verifySuccess("Project task is visible."));
-       }
-       
-       public void testAddSourceLineTasks() {
-               BrowserManager.getDefault().init(new String[]{}, true); 
-               ISourceLocation dummyLocation = new SourceLocation(new File("<file>"), -1, -1);
-               Ajde.getDefault().getTaskListManager().addSourcelineTask(
-                       "error task",
-                       dummyLocation,
-                       IMessage.ERROR);
-
-               Ajde.getDefault().getTaskListManager().addSourcelineTask(
-                       "warning task",
-                       dummyLocation,
-                       IMessage.WARNING);
-               
-               Ajde.getDefault().getTaskListManager().addSourcelineTask(
-                       "info task",
-                       dummyLocation,
-                       IMessage.INFO);
-
-               assertTrue("confirmation result", verifySuccess("3 kinds of sourceline tasks are visible."));
-       }
-       
-       
-       private boolean verifySuccess(String message) {
-               int result = JOptionPane.showConfirmDialog(
-                       BrowserManager.getDefault().getRootFrame(),
-                       "Verify Results",
-                       message,
-                       JOptionPane.YES_NO_OPTION);             
-               return result == JOptionPane.YES_OPTION;
-       }
-       
-       protected void setUp() throws Exception {
-               super.setUp();
-       }
-       
-       protected void tearDown() throws Exception {
-               super.tearDown();
-       }
-}
diff --git a/ajbrowser/testsrc/org/aspectj/tools/ajbrowser/InteractiveBrowserTest.java b/ajbrowser/testsrc/org/aspectj/tools/ajbrowser/InteractiveBrowserTest.java
new file mode 100644 (file)
index 0000000..021533e
--- /dev/null
@@ -0,0 +1,98 @@
+/* *******************************************************************
+ * Copyright (c) 1999-2001 Xerox Corporation, 
+ *               2002 Palo Alto Research Center, Incorporated (PARC).
+ * All rights reserved. 
+ * This program and the accompanying materials are made available 
+ * under the terms of the Common Public License v1.0 
+ * which accompanies this distribution and is available at 
+ * http://www.eclipse.org/legal/cpl-v10.html 
+ *  
+ * Contributors: 
+ *     Xerox/PARC     initial implementation 
+ * ******************************************************************/
+
+
+package org.aspectj.tools.ajbrowser;
+
+import java.io.File;
+import javax.swing.*;
+import junit.framework.*;
+//import org.aspectj.asm.*;
+import org.aspectj.bridge.*;
+import org.aspectj.bridge.IMessage;
+import org.aspectj.ajde.*;
+
+/**
+ * @author Mik Kersten
+ */
+public class InteractiveBrowserTest extends TestCase {
+
+       public InteractiveBrowserTest(String name) {
+               super(name);
+       }
+
+       public static TestSuite suite() {
+               TestSuite result = new TestSuite();
+               result.addTestSuite(InteractiveBrowserTest.class);      
+               return result;
+       }
+
+       public void testInitNoArgs() {
+               //String[] args = { "C:/Dev/aspectj/modules/ajde/testdata/examples/figures-coverage/all.lst" }; 
+               String[] args = { };
+               BrowserManager.getDefault().init(args, true);   
+       }
+
+       public void testAddProjectTask() {
+               BrowserManager.getDefault().init(new String[]{}, true); 
+               Ajde.getDefault().getTaskListManager().addProjectTask(
+                       "project-level task",
+                       IMessage.ERROR);
+
+               BrowserManager.getDefault().showMessages();
+
+               assertTrue("confirmation result", verifySuccess("Project task is visible."));
+       }
+       
+       public void testAddSourceLineTasks() {
+               BrowserManager.getDefault().init(new String[]{}, true); 
+               ISourceLocation dummyLocation = new SourceLocation(new File("<file>"), 0, 0);
+
+               Ajde.getDefault().getTaskListManager().addSourcelineTask(
+                       "error task",
+                       dummyLocation,
+                       IMessage.ERROR); 
+
+               Ajde.getDefault().getTaskListManager().addSourcelineTask(
+                       "warning task",
+                       dummyLocation,
+                       IMessage.WARNING);
+               
+               Ajde.getDefault().getTaskListManager().addSourcelineTask(
+                       "info task",
+                       dummyLocation,
+                       IMessage.INFO);
+                       
+               BrowserManager.getDefault().showMessages();
+
+               assertTrue("confirmation result", verifySuccess("3 kinds of sourceline tasks are visible."));
+       }
+       
+       
+       private boolean verifySuccess(String message) {
+               int result = JOptionPane.showConfirmDialog(
+                       BrowserManager.getDefault().getRootFrame(),
+                       "Verify Results",
+                       message,
+                       JOptionPane.YES_NO_OPTION);             
+               return result == JOptionPane.YES_OPTION;
+       }
+       
+       protected void setUp() throws Exception {
+               super.setUp();
+       }
+       
+       protected void tearDown() throws Exception {
+               super.tearDown();
+       }
+}
index 9476f3b4e471c2bf9be6b8d46b78ca02879f3319..be0ec13764a1ef2c0b5a5b2ca7edf84b5ede120d 100644 (file)
@@ -57,7 +57,7 @@ public class CompilerMessagesCellRenderer extends JLabel implements ListCellRend
                        } else if (IMessage.ERROR.isSameOrLessThan(kind)) {
                 setIcon(AjdeUIManager.getDefault().getIconRegistry().getErrorIcon());
                        } else {
-                setIcon(null);
+                setIcon(AjdeUIManager.getDefault().getIconRegistry().getInfoIcon());
                        }
                        if (isSelected) {
                                setBackground(list.getSelectionBackground());
diff --git a/org.aspectj.ajdt.core/testdata/bug-40257/d1/A.java b/org.aspectj.ajdt.core/testdata/bug-40257/d1/A.java
new file mode 100644 (file)
index 0000000..d5fbbef
--- /dev/null
@@ -0,0 +1,6 @@
+
+package d1;
+
+public class A {
+
+}
diff --git a/org.aspectj.ajdt.core/testdata/bug-40257/d1/d2/B.java b/org.aspectj.ajdt.core/testdata/bug-40257/d1/d2/B.java
new file mode 100644 (file)
index 0000000..d419b8f
--- /dev/null
@@ -0,0 +1,3 @@
+package d1.d2;
+
+class B { }
\ No newline at end of file
diff --git a/org.aspectj.ajdt.core/testdata/bug-40257/d1/test.lst b/org.aspectj.ajdt.core/testdata/bug-40257/d1/test.lst
new file mode 100644 (file)
index 0000000..2091b5b
--- /dev/null
@@ -0,0 +1,3 @@
+A.java
+d2/B.java
+../d3/C.java
diff --git a/org.aspectj.ajdt.core/testdata/bug-40257/d3/C.java b/org.aspectj.ajdt.core/testdata/bug-40257/d3/C.java
new file mode 100644 (file)
index 0000000..6729096
--- /dev/null
@@ -0,0 +1,3 @@
+package d3;
+
+class C { }
\ No newline at end of file
index ef1612750f7cce4ba77664abd6315e84b55a11e5..777eec89a302051b55fa637965ba077cf908aeec 100644 (file)
@@ -25,7 +25,7 @@ public class AjdtAjcTests extends TestCase {
         suite.addTestSuite(BuildArgParserTestCase.class); 
         suite.addTestSuite(ConsoleMessageHandlerTestCase.class); 
         //$JUnit-END$
-        return suite;
+        return suite;  
     }
 
     public AjdtAjcTests(String name) { super(name); }
index a340565a67dd0a2a0857dbf0b82d2c5d18cb66e3..7ce74846a16e5670a01e8ea12349035ed2714a30 100644 (file)
 
 package org.aspectj.ajdt.ajc;
 
-import org.aspectj.ajdt.internal.core.builder.AjBuildConfig;
-import org.aspectj.ajdt.internal.core.builder.AjCompilerOptions;
+import java.io.*;
+import java.util.*;
+
+import junit.framework.TestCase;
+
+import org.aspectj.ajdt.internal.core.builder.*;
 import org.aspectj.bridge.MessageWriter;
 import org.aspectj.testing.util.TestUtil;
 import org.eclipse.jdt.core.compiler.InvalidInputException;
 import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-
-import junit.framework.TestCase;
-
 /**
  * Some black-box test is happening here.
  */
@@ -328,6 +322,23 @@ public class BuildArgParserTestCase extends TestCase {
                assertEquals(outputDir.getPath(), OUT_PATH);
        }
 
+       public void testNonExistentConfigFile() throws IOException {
+               String FILE_PATH =   "@" + TEST_DIR + "../bug-40257/d1/test.lst";
+               AjBuildConfig config = parser.genBuildConfig(new String[] { FILE_PATH }, messageWriter);
+
+               String a = new File(TEST_DIR + "../bug-40257/d1/A.java").getCanonicalPath();
+               String b = new File(TEST_DIR + "../bug-40257/d1/d2/B.java").getCanonicalPath();
+               String c = new File(TEST_DIR + "../bug-40257/d3/C.java").getCanonicalPath();
+               List pathList = new ArrayList();
+               for (Iterator it = config.getFiles().iterator(); it.hasNext(); ) {
+                       pathList.add(((File)it.next()).getCanonicalPath());
+               }
+               assertTrue(pathList.contains(a));
+               assertTrue(pathList.contains(b));
+               assertTrue(pathList.contains(c));
+                       
+       }
+
        public void testXlint() throws InvalidInputException {
                AjdtCommand command = new AjdtCommand();
                AjBuildConfig config = parser.genBuildConfig(new String[] {"-Xlint"}, messageWriter);