import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
+import java.net.SocketTimeoutException;
import java.sql.SQLException;
import java.util.Locale;
}
@Test
- public void testExplain_unexpectedException() {
+ public void testExplain_simpleExceptions() {
Locale[] locales = { Locale.CANADA, Locale.FRANCE, Locale.JAPAN, Locale.CHINA};
+ Object[][] data = {
+ {new NullPointerException(), FrankBundle.UNEXPECTED_EXCEPTION},
+ {new SocketTimeoutException(), FrankBundle.SERVER_TIMEOUT}
+ };
ErrorHandler eh = new ErrorHandler();
for (Locale locale : locales) {
FrankBundle bundle = FrankBundle.getInst(locale);
- m_baos.reset();
- eh.writeErrorPage(m_pw, new NullPointerException(), Locale.CANADA);
- m_pw.flush();
-
- String actual = m_baos.toString();
- Assert.assertTrue(actual.contains(bundle.get(FrankBundle.UNEXPECTED_EXCEPTION)));
+ for (Object[] tuple : data) {
+ Exception e = (Exception)tuple[0];
+ String key = (String)tuple[1];
+
+ m_baos.reset();
+ eh.writeErrorPage(m_pw, e, locale);
+ m_pw.flush();
+
+ String actual = m_baos.toString();
+ Assert.assertTrue(actual.contains(bundle.get(key)));
+ }
}
}
FrankBundle bundle = FrankBundle.getInst(locale);
m_baos.reset();
- eh.writeErrorPage(m_pw, fe, Locale.CANADA);
+ eh.writeErrorPage(m_pw, fe, locale);
m_pw.flush();
String actual = m_baos.toString();