private void assertLog(int logLevel, String tag, String msg) { AssertUtil.assertHasLog(logsContainer, new LogItem(logLevel, tag, msg)); } }
@Test public void testBlockingInterceptor() { XLog.addInterceptor(new Interceptor() { @Override public LogItem intercept(LogItem log) { log.msg = "i1"; return log; } }).addInterceptor(new Interceptor() { @Override public LogItem intercept(LogItem log) { // Block the log. return null; } }).addInterceptor(new Interceptor() { @Override public LogItem intercept(LogItem log) { log.msg = "i2"; return log; } }).i(MESSAGE); AssertUtil.assertNoLog(logsContainer); }
logsContainer.clear(); logger.i(MESSAGE); AssertUtil.assertNoLog(logsContainer); logsContainer.clear(); logger.w(MESSAGE); logger.log(8, MESSAGE); logger.log(9, MESSAGE); AssertUtil.assertNoLog(logsContainer);
@Test public void testPrint4kMessage() throws Exception { int length = AndroidPrinter.DEFAULT_MAX_CHUNK_SIZE; StringBuilder sb = new StringBuilder(length); for (int i = 0; i < length; i++) { sb.append(RandomUtil.randomAsciiChar()); } String msg = sb.toString(); XLog.d(msg); assertEquals(1, logContainer.size()); AssertUtil.assertHasLog(logContainer, msg); }
@Test public void testPrintShortMessage() throws Exception { String msg = "This is a short message"; XLog.d(msg); assertEquals(1, logContainer.size()); AssertUtil.assertHasLog(logContainer, msg); }
@Test public void testPrintLongMessage() throws Exception { int messageChunkLength = AndroidPrinter.DEFAULT_MAX_CHUNK_SIZE; int length = (int) (3.6 * messageChunkLength); StringBuilder sb = new StringBuilder(length); for (int i = 0; i < length; i++) { sb.append(RandomUtil.randomAsciiChar()); } String msg = sb.toString(); XLog.d(msg); assertEquals(4, logContainer.size()); int start = 0; int end = 0; for (int i = 0; end < length; i++) { end = AndroidPrinter.adjustEnd(msg, start, Math.min(start + messageChunkLength, length)); String chunk = msg.substring(start, end); AssertUtil.assertHasLog(logContainer, i, chunk); start = end; } } }