@Override protected void setUp() throws Exception { prompt = ""; console = new Console( shell = new SyncShell() { @Override public String getPrompt() { return prompt; } }, driver = new TestDriver()); }
private void doTest() { driver.assertChar('a').assertFlush().assertEmpty(); console.on(Operation.CLEAR_SCREEN); driver.assertCLS(); driver.assertChar('a').assertFlush().assertEmpty(); } }
public void testPrompt() { driver.assertEmpty(); prompt = "% "; console.init(); driver.assertChar('%').assertChar(' ').assertFlush().assertEmpty(); final ArrayBlockingQueue<ShellProcessContext> contexts = new ArrayBlockingQueue<ShellProcessContext>(1); shell.addProcess(new SyncProcess() { @Override public void run(String request, ShellProcessContext context) throws Exception { contexts.add(context); } }); console.on(KeyStrokes.a); console.on(KeyStrokes.ENTER); driver.assertChar('a').assertFlush().assertCRLF().assertFlush().assertEmpty(); driver.assertEmpty(); ShellProcessContext context = contexts.poll(); assertNotNull(context); context.end(ShellResponse.ok()); driver.assertCRLF().assertFlush().assertChar('%').assertChar(' ').assertFlush().assertEmpty(); }
public void testMovePrevWord() { console.init(); console.on(KeyStrokes.MOVE_PREV_WORD); driver.assertEmpty(); console.on(KeyStrokes.SPACE); driver.assertChar(' ').assertFlush().assertEmpty(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); console.on(KeyStrokes.b); driver.assertChar('b').assertFlush().assertEmpty(); console.on(KeyStrokes.MOVE_PREV_WORD); driver.assertMoveLeft().assertMoveLeft().assertFlush().assertEmpty(); }
public void testEditor() { console.init(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); }
public void testCompleteSingle1() { shell.setCompleter(new SyncCompleter() { @Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("foo", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } }); console.init(); console.on(KeyStrokes.COMPLETE); driver.assertChars("foo").assertFlush().assertEmpty(); assertEquals("foo", getCurrentLine()); }
public TestDriver assertMoveLeft(int times) { while (times-- > 0) { assertMoveLeft(); } return this; }
public TestDriver assertMoveRight(int times) { while (times-- > 0) { assertMoveRight(); } return this; }
public TestDriver assertDel(int times) { while (times-- > 0) { assertDel(); } return this; }
public TestDriver assertChars(String s) { for (int i = 0;i < s.length();i++) { char c = s.charAt(i); assertChar(c); } return this; }
public void testCompleteEmpty() { shell.setCompleter(new SyncCompleter() { @Override public CompletionMatch complete(String prefix) { return null; } }); console.init(); console.on(KeyStrokes.COMPLETE); driver.assertEmpty(); }
public void testCompleteMulti1() { shell.setCompleter(new SyncCompleter() { @Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("foo", false); builder.add("bar", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } }); console.init(); prompt = "% "; console.on(KeyStrokes.COMPLETE); driver.assertChars("\nfoo bar \n% ").assertFlush().assertEmpty(); assertEquals("", getCurrentLine()); }
public void testMoveBeginning() { console.init(); console.on(KeyStrokes.MOVE_BEGINNING); driver.assertEmpty(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); console.on(KeyStrokes.SPACE); driver.assertChar(' ').assertFlush().assertEmpty(); console.on(KeyStrokes.b); driver.assertChar('b').assertFlush().assertEmpty(); console.on(KeyStrokes.MOVE_BEGINNING); driver.assertMoveLeft().assertMoveLeft().assertMoveLeft().assertFlush().assertEmpty(); }
public void testCompleteMulti2() { shell.setCompleter(new SyncCompleter() { @Override public CompletionMatch complete(String prefix) { Completion.Builder builder = Completion.builder(""); builder.add("afoo", false); builder.add("abar", false); return new CompletionMatch(Delimiter.EMPTY, builder.build()); } }); console.init(); prompt = "% "; console.on(KeyStrokes.COMPLETE); driver.assertChars("\nafoo abar \n% a").assertFlush().assertEmpty(); assertEquals("a", getCurrentLine()); }
public void testInsert() { console.init(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); console.on(KeyStrokes.b); driver.assertMoveLeft().assertFlush().assertChars("ba").assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); console.on(KeyStrokes.b); driver.assertMoveLeft().assertFlush().assertChars("bba").assertMoveLeft().assertMoveLeft().assertFlush().assertEmpty(); assertEquals("bba", getCurrentLine()); }
public void testMoveNextChar() { console.init(); console.on(KeyStrokes.RIGHT); driver.assertEmpty(); console.on(KeyStrokes.a); console.on(KeyStrokes.LEFT); driver.assertChar('a').assertFlush().assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.RIGHT); driver.assertMoveRight().assertFlush().assertEmpty(); }
public void testDeletePrevChar() { console.init(); console.on(KeyStrokes.DELETE_PREV_CHAR); driver.assertEmpty(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); console.on(KeyStrokes.DELETE_PREV_CHAR); driver.assertDel().assertFlush().assertEmpty(); }
public void testDeleteBeginning() { console.init(); console.on(KeyStrokes.DELETE_BEGINNING); driver.assertEmpty(); console.on(KeyStrokes.a); console.on(KeyStrokes.b); console.on(KeyStrokes.c); driver.assertChar('a').assertFlush(); driver.assertChar('b').assertFlush(); driver.assertChar('c').assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); driver.assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.DELETE_BEGINNING); assertEquals("c", getCurrentLine()); driver.assertMoveLeft().assertChars("c ").assertMoveLeft().assertMoveLeft().assertMoveLeft().assertChars("c ").assertMoveLeft().assertMoveLeft().assertFlush().assertEmpty(); }
public void testMovePrevChar() { console.init(); console.on(KeyStrokes.a); console.on(KeyStrokes.LEFT); driver.assertChar('a').assertFlush().assertMoveLeft().assertFlush().assertEmpty(); }
public void testMoveEnd() { console.init(); console.on(KeyStrokes.MOVE_END); driver.assertEmpty(); console.on(KeyStrokes.a); driver.assertChar('a').assertFlush().assertEmpty(); console.on(KeyStrokes.SPACE); driver.assertChar(' ').assertFlush().assertEmpty(); console.on(KeyStrokes.b); driver.assertChar('b').assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); driver.assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); driver.assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.LEFT); driver.assertMoveLeft().assertFlush().assertEmpty(); console.on(KeyStrokes.MOVE_END); driver.assertMoveRight().assertMoveRight().assertMoveRight().assertFlush().assertEmpty(); }