@Test public void testEventHandler() { TestTerm term = new TestTerm(this); LinkedList<TtyEvent> events = new LinkedList<>(); BiConsumer<TtyEvent, Integer> handler = (event,cp) -> events.add(event); term.eventHandler = handler; Supplier<String> line = term.readlineComplete(); term.read(CTRL_C_KEY); term.read('\r'); assertEquals("", line.get()); assertEquals(Collections.emptyList(), events); term.eventHandler.accept(TtyEvent.EOF, 4); assertEquals(Collections.singletonList(TtyEvent.EOF), events); }
@Test public void cancel() { TestTerm term = new TestTerm(this); assertFalse(term.readline.cancel()); term.readline(s -> { assertNull(s); testComplete(); }); assertTrue(term.readline.cancel()); assertFalse(term.readline.cancel()); await(); }
@Test public void testPreserveOriginalHandlers() { TestTerm term = new TestTerm(this); Consumer<int[]> readHandler = buf -> {}; Consumer<Vector> sizeHandler = size -> {}; term.readHandler = readHandler; term.sizeHandler = sizeHandler; term.readlineComplete(); assertFalse(term.readHandler == readHandler); assertFalse(term.sizeHandler == sizeHandler); term.read('\r'); assertEquals(term.readHandler, readHandler); assertEquals(term.sizeHandler, sizeHandler); }
@Test public void cancel() { TestTerm term = new TestTerm(this); assertFalse(term.readline.cancel()); term.readline(new Consumer<String>() { @Override public void accept(String s) { assertNull(s); testComplete(); } }); assertTrue(term.readline.cancel()); assertFalse(term.readline.cancel()); await(); }
@Test public void testQuotedMultiline() { TestTerm term = new TestTerm(this); Supplier<String> a = term.readlineComplete(); term.read('A'); term.read('"'); term.read('\r'); assertNull(a.get()); term.assertScreen( "% A\"", "> "); term.read('B'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> "); assertNull(a.get()); term.read('C'); term.read('"'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> C\""); term.assertAt(3, 0); assertEquals("A\"\nB\nC\"", a.get()); }
@Test public void testEnter() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.read('\r'); term.assertScreen("% "); term.assertAt(1, 0); await(); }
@Override public void accept(String s) { assertNull(s); testComplete(); } });
@Test public void testEnter() { TestTerm term = new TestTerm(this); term.readline(new Consumer<String>() { @Override public void accept(String s) { testComplete(); } }); term.read('\r'); term.assertScreen("% "); term.assertAt(1, 0); await(); }
@Test public void testPrompt() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void testPreserveOriginalHandlers() { TestTerm term = new TestTerm(this); Consumer<int[]> readHandler = buf -> {}; Consumer<Vector> sizeHandler = size -> {}; term.readHandler = readHandler; term.sizeHandler = sizeHandler; term.readlineComplete(); assertFalse(term.readHandler == readHandler); assertFalse(term.sizeHandler == sizeHandler); term.read('\r'); assertEquals(term.readHandler, readHandler); assertEquals(term.sizeHandler, sizeHandler); }
@Test public void testQuotedMultiline() { TestTerm term = new TestTerm(this); Supplier<String> a = term.readlineComplete(); term.read('A'); term.read('"'); term.read('\r'); assertNull(a.get()); term.assertScreen( "% A\"", "> "); term.read('B'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> "); assertNull(a.get()); term.read('C'); term.read('"'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> C\""); term.assertAt(3, 0); assertEquals("A\"\nB\nC\"", a.get()); }
@Test public void testEnter() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.read('\r'); term.assertScreen("% "); term.assertAt(1, 0); await(); }
@Test public void testPrompt() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void cancel() { TestTerm term = new TestTerm(this); assertFalse(term.readline.cancel()); term.readline(s -> { assertNull(s); testComplete(); }); assertTrue(term.readline.cancel()); assertFalse(term.readline.cancel()); await(); }
@Test public void testEventHandler() { TestTerm term = new TestTerm(this); LinkedList<TtyEvent> events = new LinkedList<>(); BiConsumer<TtyEvent, Integer> handler = (event,cp) -> events.add(event); term.eventHandler = handler; Supplier<String> line = term.readlineComplete(); term.read(CTRL_C_KEY); term.read('\r'); assertEquals("", line.get()); assertEquals(Collections.emptyList(), events); term.eventHandler.accept(TtyEvent.EOF, 4); assertEquals(Collections.singletonList(TtyEvent.EOF), events); }
@Test public void testPreserveOriginalHandlers() { TestTerm term = new TestTerm(this); Consumer<int[]> readHandler = new Consumer<int[]>() { @Override public void accept(int[] ints) { // no op } }; Consumer<Vector> sizeHandler = new Consumer<Vector>() { @Override public void accept(Vector vector) { // no op } }; term.readHandler = readHandler; term.sizeHandler = sizeHandler; term.readlineComplete(); assertFalse(term.readHandler == readHandler); assertFalse(term.sizeHandler == sizeHandler); term.read('\r'); assertEquals(term.readHandler, readHandler); assertEquals(term.sizeHandler, sizeHandler); }
@Test public void testQuotedMultiline() { TestTerm term = new TestTerm(this); Supplier<String> a = term.readlineComplete(); term.read('A'); term.read('"'); term.read('\r'); assertNull(a.get()); term.assertScreen( "% A\"", "> "); term.read('B'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> "); assertNull(a.get()); term.read('C'); term.read('"'); term.read('\r'); term.assertScreen( "% A\"", "> B", "> C\""); term.assertAt(3, 0); assertEquals("A\"\nB\nC\"", a.get()); }
@Test public void testIllegalChar() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); assertEquals(0, term.getBellCount()); term.read('a', 6, 'b', '\r'); assertEquals(1, term.getBellCount()); assertEquals("ab", line.get()); }
@Test public void testIllegalChar() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); assertEquals(0, term.getBellCount()); term.read('a', 6, 'b', '\r'); assertEquals(1, term.getBellCount()); assertEquals("ab", line.get()); }
@Test public void testIllegalChar() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); assertEquals(0, term.getBellCount()); term.read('a', 6, 'b', '\r'); assertEquals(1, term.getBellCount()); assertEquals("ab", line.get()); }