for (int i = 1; i <= process.height(); i++) {
for (int i = 1; i <= process.height(); i++) { output.append("\033[").append(i).append(";1H\033[K"); if(i == 1) {
@Override public void testExec(TestContext context) throws Exception { AtomicReference<Vertx> execCommand = new AtomicReference<>(); CommandRegistry registry = CommandRegistry.getShared(vertx); registry.registerCommand(CommandBuilder.command("the-command").processHandler(process -> { context.assertNotNull(Vertx.currentContext()); context.assertNotNull(process.session()); execCommand.set(process.vertx()); context.assertEquals(-1, process.width()); context.assertEquals(-1, process.height()); context.assertEquals(Arrays.asList("arg1", "arg2"), process.args()); context.assertTrue(process.isForeground()); StringBuilder input = new StringBuilder(); process.stdinHandler(data -> { input.append(data); if (input.toString().equals("the_input")) { process.end(2); } }); process.write("the_output"); }).build(vertx)); super.testExec(context); assertEquals(execCommand.get(), vertx); } }
@Test public void testResize(TestContext context) { commands.add(CommandBuilder.command("foo").processHandler(process -> { context.assertEquals(20, process.width()); context.assertEquals(10, process.height()); process.resizehandler(v -> { context.assertEquals(25, process.width()); context.assertEquals(15, process.height()); process.end(0); }); process.write("ping"); })); Shell shell = server.createShell(); Job job = shell.createJob("foo"); Pty pty = Pty.create(); Async async = context.async(); pty.setSize(20, 10); pty.stdoutHandler(text -> { pty.setSize(25, 15); }); job.setTty(pty.slave()).statusUpdateHandler(CommandProcessTest.terminateHandler(status -> { async.complete(); })).run(); }