|
@@ -31,26 +31,22 @@ import com.dmdirc.ui.messages.BackBuffer;
|
31
|
31
|
import com.dmdirc.ui.messages.BackBufferFactory;
|
32
|
32
|
|
33
|
33
|
import java.nio.file.Paths;
|
34
|
|
-import java.util.ArrayList;
|
35
|
|
-import java.util.List;
|
36
|
34
|
import java.util.Optional;
|
37
|
|
-import java.util.concurrent.CountDownLatch;
|
38
|
|
-import java.util.concurrent.TimeUnit;
|
39
|
35
|
|
40
|
36
|
import org.junit.Before;
|
41
|
37
|
import org.junit.Test;
|
42
|
38
|
import org.junit.runner.RunWith;
|
|
39
|
+import org.mockito.ArgumentCaptor;
|
|
40
|
+import org.mockito.Captor;
|
43
|
41
|
import org.mockito.Mock;
|
44
|
42
|
import org.mockito.runners.MockitoJUnitRunner;
|
45
|
43
|
|
46
|
|
-import net.engio.mbassy.listener.Handler;
|
47
|
|
-import net.engio.mbassy.listener.Listener;
|
48
|
|
-import net.engio.mbassy.listener.References;
|
49
|
|
-
|
50
|
44
|
import static junit.framework.TestCase.assertEquals;
|
51
|
|
-import static org.junit.Assert.assertTrue;
|
52
|
45
|
import static org.mockito.Matchers.any;
|
|
46
|
+import static org.mockito.Mockito.times;
|
|
47
|
+import static org.mockito.Mockito.verify;
|
53
|
48
|
import static org.mockito.Mockito.when;
|
|
49
|
+
|
54
|
50
|
@RunWith(MockitoJUnitRunner.class)
|
55
|
51
|
public class HistoryWindowTest {
|
56
|
52
|
|
|
@@ -61,6 +57,7 @@ public class HistoryWindowTest {
|
61
|
57
|
@Mock private WindowModel frameContainer;
|
62
|
58
|
@Mock private DMDircMBassador eventBus;
|
63
|
59
|
@Mock private BackBufferFactory backBufferFactory;
|
|
60
|
+ @Captor private ArgumentCaptor<HistoricalLineRestoredEvent> eventCaptor;
|
64
|
61
|
private HistoryWindow instance;
|
65
|
62
|
|
66
|
63
|
@Before
|
|
@@ -81,28 +78,13 @@ public class HistoryWindowTest {
|
81
|
78
|
|
82
|
79
|
@Test
|
83
|
80
|
public void testOutputLoggingBackBuffer() throws Exception {
|
84
|
|
- final LineListener listener = new LineListener();
|
85
|
|
- instance.getEventBus().subscribe(listener);
|
86
|
81
|
instance.outputLoggingBackBuffer(4);
|
87
|
82
|
|
88
|
|
- assertTrue(listener.latch.await(5, TimeUnit.SECONDS));
|
89
|
|
- assertEquals("[21/12/2015 12:58:02] RAAR", listener.values.get(0).getLine());
|
90
|
|
- assertEquals("[21/12/2015 12:59:03] RAAAR", listener.values.get(1).getLine());
|
91
|
|
- assertEquals("[21/12/2015 13:00:04] RAAAAR", listener.values.get(2).getLine());
|
92
|
|
- assertEquals("[21/12/2015 13:01:05] RAAAAAR", listener.values.get(3).getLine());
|
|
83
|
+ verify(eventBus, times(4)).publishAsync(eventCaptor.capture());
|
|
84
|
+ assertEquals("[21/12/2015 12:58:02] RAAR", eventCaptor.getAllValues().get(0).getLine());
|
|
85
|
+ assertEquals("[21/12/2015 12:59:03] RAAAR", eventCaptor.getAllValues().get(1).getLine());
|
|
86
|
+ assertEquals("[21/12/2015 13:00:04] RAAAAR", eventCaptor.getAllValues().get(2).getLine());
|
|
87
|
+ assertEquals("[21/12/2015 13:01:05] RAAAAAR", eventCaptor.getAllValues().get(3).getLine());
|
93
|
88
|
}
|
94
|
89
|
|
95
|
|
- @Listener(references = References.Strong)
|
96
|
|
- private static class LineListener {
|
97
|
|
-
|
98
|
|
- public final List<HistoricalLineRestoredEvent> values = new ArrayList<>();
|
99
|
|
- public final CountDownLatch latch = new CountDownLatch(4);
|
100
|
|
-
|
101
|
|
- @Handler
|
102
|
|
- private void handleLineRestored(final HistoricalLineRestoredEvent event) {
|
103
|
|
- values.add(event);
|
104
|
|
- latch.countDown();
|
105
|
|
- }
|
106
|
|
-
|
107
|
|
- }
|
108
|
90
|
}
|