package org.webcat.exceptiondoctor.handlers.test;
import java.io.File;
import org.webcat.exceptiondoctor.handlers.NullPointerExceptionHandler;
import junit.framework.TestCase;
public class NullPointerHandlerTest extends TestCase
{
@SuppressWarnings("null")
public void testHandleException()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
Object test = null;
test.getClass();
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
// throw wrapped;
assertNotNull(wrapped);
wrapped.printStackTrace();
}
@SuppressWarnings("null")
public void testHandleException2()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
String nullString = null;
Integer i = 1;
Integer j = 2;
nullString.substring(i.intValue(), j.intValue());
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
assertNotNull(wrapped);
System.out.println(wrapped.getClass() + ":" + wrapped.getMessage());
}
@SuppressWarnings("null")
public void testHandleException3()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
Integer i = null;
System.out.println(i.toString().equals(i.intValue()));
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
assertNotNull(wrapped);
System.out.println(wrapped.getClass() + ":" + wrapped.getMessage());
}
public void testBugException()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
String foo = "foo";
String bar = null;
foo.contains(bar);
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
assertNotNull(wrapped);
System.out.println(wrapped.getMessage());
}
public void testBug2()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
String toSub = "foo.bar";
Integer foo = null;
Integer bar = null;
toSub.substring(foo.intValue(),bar.intValue());
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
assertNotNull(wrapped);
System.out.println(wrapped.getMessage());
}
public void testLibraryNull()
{
NullPointerExceptionHandler handle = new NullPointerExceptionHandler();
NullPointerException wrapped = null;
try
{
File library = new File((String)null);
}
catch (NullPointerException e)
{
try
{
wrapped = (NullPointerException) handle.wrapException(e);
}
catch (Throwable e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
assertTrue(false);
}
}
wrapped.printStackTrace();
}
}