@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 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 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()); }
@Test public void testEOF() { TestTerm term = new TestTerm(this); LinkedList<String> lines = new LinkedList<>(); term.readline(lines::add); term.read(TtyEvent.EOF.codePoint()); assertEquals(Collections.singletonList(null), lines); }
@Test public void testEOF() { TestTerm term = new TestTerm(this); final LinkedList<String> lines = new LinkedList<String>(); term.readline(new Consumer<String>() { @Override public void accept(String s) { lines.add(s); } }); term.read(TtyEvent.EOF.codePoint()); assertEquals(Collections.singletonList(null), lines); }
@Test public void testEOF() { TestTerm term = new TestTerm(this); LinkedList<String> lines = new LinkedList<>(); term.readline(lines::add); term.read(TtyEvent.EOF.codePoint()); assertEquals(Collections.singletonList(null), lines); }
@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 testBuffering() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('h', 'e', 'l', 'l', 'o', '\r', 'b', 'y', 'e', '\r'); assertEquals("hello", line.get()); term.assertScreen("% hello"); term.assertAt(1, 0); line = term.readlineComplete(); term.executeTasks(); assertEquals("bye", line.get()); term.assertScreen("% hello", "% bye"); term.assertAt(2, 0); }
@Test public void testBuffering() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('h', 'e', 'l', 'l', 'o', '\r', 'b', 'y', 'e', '\r'); assertEquals("hello", line.get()); term.assertScreen("% hello"); term.assertAt(1, 0); line = term.readlineComplete(); term.executeTasks(); assertEquals("bye", line.get()); term.assertScreen("% hello", "% bye"); term.assertAt(2, 0); }
@Test public void testInsertCharEnter() throws Exception { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('A'); term.read('\r'); term.assertScreen("% A"); term.assertAt(1, 0); assertEquals("A", line.get()); }
@Test public void testInsertCharEnter() throws Exception { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('A'); term.read('\r'); term.assertScreen("% A"); term.assertAt(1, 0); assertEquals("A", line.get()); }
@Test public void testResetDuringInteraction2() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd', '\\', '\r'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd\\", "> ", "% e"); term.assertAt(2, 3); term.read('\r'); assertEquals("e", line.get()); }
@Test public void testResetDuringInteraction1() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd", "% e"); term.assertAt(1, 3); term.read('\r'); assertEquals("e", line.get()); }
@Test public void testResetDuringInteraction1() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd", "% e"); term.assertAt(1, 3); term.read('\r'); assertEquals("e", line.get()); }
@Test public void testResetDuringInteraction2() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd', '\\', '\r'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd\\", "> ", "% e"); term.assertAt(2, 3); term.read('\r'); assertEquals("e", line.get()); }
@Test public void testInsertCharEnter() throws Exception { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('A'); term.read('\r'); term.assertScreen("% A"); term.assertAt(1, 0); assertEquals("A", line.get()); }
@Test public void testResetDuringInteraction2() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd', '\\', '\r'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd\\", "> ", "% e"); term.assertAt(2, 3); term.read('\r'); assertEquals("e", line.get()); }
@Test public void testResetDuringInteraction1() { TestTerm term = new TestTerm(this); Supplier<String> line = term.readlineComplete(); term.read('a', 'b', 'c', 'd'); term.read(CTRL_C_KEY); term.read('e'); term.assertScreen("% abcd", "% e"); term.assertAt(1, 3); term.read('\r'); assertEquals("e", line.get()); }