public static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, TelnetTermOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "charset": if (member.getValue() instanceof String) { obj.setCharset((String)member.getValue()); } break; case "inBinary": if (member.getValue() instanceof Boolean) { obj.setInBinary((Boolean)member.getValue()); } break; case "intputrc": if (member.getValue() instanceof String) { obj.setIntputrc((String)member.getValue()); } break; case "outBinary": if (member.getValue() instanceof Boolean) { obj.setOutBinary((Boolean)member.getValue()); } break; } } }
@Test public void testOutBinaryFalse(TestContext context) throws Exception { byte[] expected = StandardCharsets.US_ASCII.encode("€").array(); startTelnet(context, new TelnetTermOptions().setOutBinary(false), term -> { term.write("\u20AC"); }); client.addOptionHandler(new WindowSizeOptionHandler(10, 20, false, false, true, false)); client.connect("localhost", server.actualPort()); InputStream in = client.getInputStream(); for (int i = 0;i < expected.length;i++) { context.assertEquals((int)expected[i], in.read()); } }
@Test public void testOutBinaryTrue(TestContext context) throws Exception { startTelnet(context, new TelnetTermOptions().setOutBinary(true), term -> { term.write("\u20AC"); }); client.addOptionHandler(new WindowSizeOptionHandler(10, 20, false, false, true, false)); client.connect("localhost", server.actualPort()); InputStream in = client.getInputStream(); context.assertEquals(226, in.read()); context.assertEquals(130, in.read()); context.assertEquals(172, in.read()); }