JSQLParserExceptionTest.java
/*-
* #%L
* JSQLParser library
* %%
* Copyright (C) 2004 - 2019 JSQLParser
* %%
* Dual licensed under GNU LGPL 2.1 or Apache License 2.0
* #L%
*/
package net.sf.jsqlparser.parser;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import net.sf.jsqlparser.JSQLParserException;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
/**
*
* @author schwitters
*/
public class JSQLParserExceptionTest {
/**
* Test of parseExpression method, of class CCJSqlParserUtil.
*/
@Test
public void testExceptionWithCause() throws Exception {
IllegalArgumentException arg1 = new IllegalArgumentException();
JSQLParserException ex1 = new JSQLParserException("", arg1);
assertSame(arg1, ex1.getCause());
}
@Test
public void testExceptionPrintStacktrace() throws Exception {
IllegalArgumentException arg1 = new IllegalArgumentException("BRATKARTOFFEL");
JSQLParserException ex1 = new JSQLParserException("", arg1);
StringWriter sw = new StringWriter();
ex1.printStackTrace(new PrintWriter(sw, true));
assertTrue(sw.toString().contains("BRATKARTOFFEL"));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ex1.printStackTrace(new PrintStream(bos, true));
assertTrue(new String(bos.toByteArray(), StandardCharsets.UTF_8).contains("BRATKARTOFFEL"));
}
@Test
public void testExceptionPrintStacktraceNoCause() throws Exception {
JSQLParserException ex1 = new JSQLParserException("", null);
StringWriter sw = new StringWriter();
ex1.printStackTrace(new PrintWriter(sw, true));
assertFalse(sw.toString().contains("BRATKARTOFFEL"));
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ex1.printStackTrace(new PrintStream(bos, true));
assertFalse(
new String(bos.toByteArray(), StandardCharsets.UTF_8).contains("BRATKARTOFFEL"));
}
@Test
public void testExceptionDefaultContructorCauseInit() throws Exception {
JSQLParserException ex1 = new JSQLParserException();
assertNull(ex1.getCause());
ex1 = new JSQLParserException((Throwable) null);
assertNull(ex1.getCause());
}
}