@Override public void accept(Completion completion) { assertEquals(0, completion.prefix().length); term.assertScreen("% "); term.assertAt(0, 2); testComplete(); } });
@Test public void testBackwardDeleteEscape() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('\\'); term.assertScreen("% \\"); term.read(BACKWARD_DELETE_KEY); term.assertScreen( "% " ); term.assertAt(0, 2); }
private void assertCompleteInline(String line, String inline, boolean terminate, String... expected) { TestTerm term = new TestTerm(this); AtomicReference<Completion> completion = new AtomicReference<>(); term.readlineComplete(completion::set); term.read(Helper.toCodePoints(line)); term.read('\t'); completion.get().complete(Helper.toCodePoints(inline), terminate); term.assertScreen(expected); } }
@Test public void testEndOfLine() { TestTerm term = new TestTerm(this); term.readlineComplete(); term.read('a', 'b', 'c', 'd'); term.read(CTRL_A_KEY); term.assertScreen("% abcd"); term.assertAt(0, 2); term.read(CTRL_A_KEY); term.assertScreen("% abcd"); term.assertAt(0, 2); }
@Test public void testEndOfLine() { TestTerm term = new TestTerm(this); term.readlineComplete(); term.read('a', 'b', 'c', 'd'); term.read(CTRL_A_KEY); term.assertScreen("% abcd"); term.assertAt(0, 2); term.read(CTRL_A_KEY); term.assertScreen("% abcd"); term.assertAt(0, 2); }
@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 testInsertChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('A'); term.assertScreen("% A"); term.assertAt(0, 3); }
@Test public void testBackwardChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read(BACKWARD_KEY); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void testForwardChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read(FORWARD_KEY); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void testInsertChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('A'); term.assertScreen("% A"); term.assertAt(0, 3); }
@Test public void testPrompt() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void testPrompt() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.assertScreen("% "); term.assertAt(0, 2); }
@Test public void testBackwardDelete() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read(BACKWARD_DELETE_KEY); term.assertScreen( "% " ); term.assertAt(0, 2); }
@Test public void testInsertCharBackwardChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('A'); term.read(BACKWARD_KEY); term.assertScreen("% A"); term.assertAt(0, 2); }
@Test public void testBackwardDeleteChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('A'); term.read(BACKWARD_DELETE_KEY); term.assertScreen("% "); term.assertAt(0, 2); }
@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 testEnter() { TestTerm term = new TestTerm(this); term.readline(event -> testComplete()); term.read('\r'); term.assertScreen("% "); term.assertAt(1, 0); await(); }
@Test public void testBackwardDeleteLastChar() { TestTerm term = new TestTerm(this); term.readlineFail(); term.read('A'); term.read('B'); term.read(8); term.assertScreen( "% A" ); term.assertAt(0, 3); }
@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()); }