You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by st...@apache.org on 2011/08/03 01:41:55 UTC

svn commit: r1153308 - /maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java

Author: struberg
Date: Tue Aug  2 23:41:54 2011
New Revision: 1153308

URL: http://svn.apache.org/viewvc?rev=1153308&view=rev
Log:
ExceptionUtilsTest continued

Modified:
    maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java

Modified: maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java?rev=1153308&r1=1153307&r2=1153308&view=diff
==============================================================================
--- maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java (original)
+++ maven/sandbox/trunk/plexus-utils-commons-bridge/plexus-utils-tck/src/test/java/org/codehaus/plexus/util/ExceptionUtilsTest.java Tue Aug  2 23:41:54 2011
@@ -234,13 +234,28 @@ public class ExceptionUtilsTest extends 
     @Test
     public void testGetStackTrace()
     {
-        //X TODO refine test!
-        logger.warning("TODO implement!");
+        NullPointerException npe = new NullPointerException( "dooh just a random, nullpointer" );
+
+        String stackTrace = ExceptionUtils.getStackTrace( npe );
+        assertNotNull(stackTrace);
+        assertTrue( "wrong stacktrace: " + stackTrace,
+                    stackTrace.startsWith( "java.lang.NullPointerException: dooh just a random, nullpointer\n" +
+                        "\tat org.codehaus.plexus.util.ExceptionUtilsTest.testGetStackTrace(ExceptionUtilsTest.java" ));
+
+        // NPE safe test
+        try
+        {
+            ExceptionUtils.getStackTrace( (Throwable) null );
+            fail( "getStackTrace(null) NPE expected" );
+        }
+        catch ( NullPointerException e )
+        {
+            //nothing to do, Exception was expected
+        }
     }
 
     /**
      * @see ExceptionUtils#getStackFrames(Throwable)
-     * @see ExceptionUtils#getStackFrames(String)
      */
     @Test
     public void testGetStackFrames()
@@ -256,7 +271,66 @@ public class ExceptionUtilsTest extends 
                   , JUnitMatchers.containsString( "at org.codehaus.plexus.util.ExceptionUtilsTest."
                                                   + "testGetStackFrames(ExceptionUtilsTest.java" ) );
 
+        // NPE safe test
+        try
+        {
+            ExceptionUtils.getStackFrames( (Throwable) null );
+            fail( "getStackFrames(null) NPE expected" );
+        }
+        catch ( NullPointerException e )
+        {
+            //nothing to do, Exception was expected
+        }
+    }
+
+    /**
+     * @see ExceptionUtils#getStackFrames(String)
+     */
+    @Test
+    public void testGetStackFrames_String()
+    {
+        String stackTrace = "java.lang.NullPointerException: mymessage\n" +
+                "\tat org.codehaus.plexus.util.ExceptionUtilsTest.testGetStackTrace(ExceptionUtilsTest.java:237)\n" +
+                "\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" +
+                "\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\n" +
+                "\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\n" +
+                "\tat java.lang.reflect.Method.invoke(Method.java:597)\n" +
+                "\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)\n" +
+                "\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)\n" +
+                "\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)\n" +
+                "\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)\n" +
+                "\tat org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)\n" +
+                "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)\n" +
+                "\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)\n" +
+                "\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)\n" +
+                "\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)\n" +
+                "\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)\n" +
+                "\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)\n" +
+                "\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)\n" +
+                "\tat org.junit.runners.ParentRunner.run(ParentRunner.java:236)\n" +
+                "\tat org.junit.runner.JUnitCore.run(JUnitCore.java:157)\n" +
+                "\tat com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:71)\n" +
+                "\tat com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:199)\n" +
+                "\tat com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:62)";
+
+        String[] stackFrames = ExceptionUtils.getStackFrames( stackTrace );
+        assertNotNull( stackFrames );
+        assertEquals( 23, stackFrames.length );
+
+        assertEquals( "java.lang.NullPointerException: mymessage", stackFrames[0] );
+        assertThat( "stackFrames", stackFrames[1]
+                  , JUnitMatchers.containsString( "at org.codehaus.plexus.util.ExceptionUtilsTest."
+                                                  + "testGetStackTrace(ExceptionUtilsTest.java" ) );
 
+        try
+        {
+            ExceptionUtils.getStackFrames( (String) null );
+            fail( "getStackFrames(null) NPE expected" );
+        }
+        catch ( NullPointerException e )
+        {
+            //nothing to do, Exception was expected
+        }
     }
 
     /**