001package ch.qos.logback.core.util; 002 003import static org.junit.Assert.*; 004 005import java.util.List; 006 007import org.junit.After; 008import org.junit.Before; 009import org.junit.Test; 010 011import ch.qos.logback.core.Context; 012import ch.qos.logback.core.ContextBase; 013import ch.qos.logback.core.status.OnConsoleStatusListener; 014import ch.qos.logback.core.status.StatusListener; 015import ch.qos.logback.core.status.StatusManager; 016 017public class StatusListenerConfigHelperTest { 018 019 Context context = new ContextBase(); 020 StatusManager sm = context.getStatusManager(); 021 022 @Before 023 public void setUp() throws Exception { 024 } 025 026 @After 027 public void tearDown() throws Exception { 028 } 029 030 @Test 031 public void addOnConsoleListenerInstanceShouldNotStartSecondListener() { 032 OnConsoleStatusListener ocl0 = new OnConsoleStatusListener(); 033 OnConsoleStatusListener ocl1 = new OnConsoleStatusListener(); 034 035 StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl0); 036 { 037 List<StatusListener> listeners = sm.getCopyOfStatusListenerList(); 038 assertEquals(1, listeners.size()); 039 assertTrue(ocl0.isStarted()); 040 } 041 042 // second listener should not have been started 043 StatusListenerConfigHelper.addOnConsoleListenerInstance(context, ocl1); 044 { 045 List<StatusListener> listeners = sm.getCopyOfStatusListenerList(); 046 assertEquals(1, listeners.size()); 047 assertFalse(ocl1.isStarted()); 048 } 049 } 050 051}