private void addShellConstruct(final Shell shell, final ProtocolMessageWriter writer) { String[] styles = new String[] {"SHELL_TRIM"}; writer.addConstructPayload( WidgetUtil.getId(shell), DisplayUtil.getId(shell.getDisplay()), shell.getClass().getName(), styles, null); }
private void checkShellConstruct(final Shell shell, final JSONObject message) throws JSONException { JSONArray widgetArray = message.getJSONArray(IProtocolConstants.MESSAGE_WIDGETS); JSONObject widgetObject = widgetArray.getJSONObject(0); String actualShellId = widgetObject.getString(IProtocolConstants.WIDGETS_ID); assertEquals(WidgetUtil.getId(shell), actualShellId); String type = widgetObject.getString(IProtocolConstants.WIDGETS_TYPE); assertEquals(IProtocolConstants.PAYLOAD_CONSTRUCT, type); JSONObject payload = widgetObject.getJSONObject(IProtocolConstants.WIDGETS_PAYLOAD); String actualDisplayId = payload.getString(IProtocolConstants.KEY_PARENT_ID); assertEquals(DisplayUtil.getId(shell.getDisplay()), actualDisplayId); JSONArray styles = payload.getJSONArray(IProtocolConstants.KEY_WIDGET_STYLE); assertEquals("SHELL_TRIM", styles.getString(0)); Object params = payload.get(IProtocolConstants.KEY_PARAMETER_LIST); assertSame(JSONObject.NULL, params); }
public void testMessageWithWrongArguments() throws IOException { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); ProtocolMessageWriter writer = new JsonMessageWriter(printWriter); Display display = new Display(); Shell shell = new Shell(display); Button button = new Button(shell, SWT.PUSH); boolean isExceptionThrown = false; try { writer.addConstructPayload( DisplayUtil.getId(display), WidgetUtil.getId(shell), "org.Text", new String[] {"TRIM"}, new Object[] {"a", button}); } catch (final IllegalArgumentException e) { isExceptionThrown = true; } assertTrue(isExceptionThrown); }
public void testMessageWithConstruct() throws IOException, JSONException { StringWriter stringWriter = new StringWriter(); PrintWriter printWriter = new PrintWriter(stringWriter); ProtocolMessageWriter writer = new JsonMessageWriter(printWriter); Display display = new Display(); Shell shell = new Shell(display); Button button = new Button(shell, SWT.PUSH); writer.addConstructPayload( WidgetUtil.getId(shell), DisplayUtil.getId(display), "org.Text", new String[] {"TRIM"}, new Object[] {"a", "b"}); String parentId = ""; if (shell.getParent() != null) { parentId = WidgetUtil.getId(shell.getParent()); } else { parentId = DisplayUtil.getId(display); } String widgetId = WidgetUtil.getId(shell); String actual = stringWriter.getBuffer().toString(); JSONObject message = new JSONObject(actual + "]}"); JSONArray widgetArray = message.getJSONArray(IProtocolConstants.MESSAGE_WIDGETS); JSONObject widgetObject = widgetArray.getJSONObject(0); String type = widgetObject.getString(IProtocolConstants.WIDGETS_TYPE); assertEquals(IProtocolConstants.PAYLOAD_CONSTRUCT, type); String actualId = widgetObject.getString(IProtocolConstants.WIDGETS_ID); assertEquals(widgetId, actualId); JSONObject payload = widgetObject.getJSONObject(IProtocolConstants.WIDGETS_PAYLOAD); String actualParentId = payload.getString(IProtocolConstants.KEY_PARENT_ID); assertEquals(parentId, actualParentId); String actualType = payload.getString(IProtocolConstants.KEY_WIDGET_TYPE); assertEquals("org.Text", actualType); JSONArray actualStyle = payload.getJSONArray(IProtocolConstants.KEY_WIDGET_STYLE); assertEquals("TRIM", actualStyle.getString(0)); JSONArray actualParams = payload.getJSONArray(IProtocolConstants.KEY_PARAMETER_LIST); assertEquals("a", actualParams.getString(0)); assertEquals("b", actualParams.getString(1)); writer.addConstructPayload( WidgetUtil.getId(button), WidgetUtil.getId(shell), "org.Shell", new String[] {"PUSH", "BORDER"}, new Object[] {"a", new Boolean(true)}); writer.finish(); actual = stringWriter.getBuffer().toString(); message = new JSONObject(actual); widgetArray = message.getJSONArray(IProtocolConstants.MESSAGE_WIDGETS); widgetObject = widgetArray.getJSONObject(1); type = widgetObject.getString(IProtocolConstants.WIDGETS_TYPE); assertEquals(IProtocolConstants.PAYLOAD_CONSTRUCT, type); actualId = widgetObject.getString(IProtocolConstants.WIDGETS_ID); assertEquals(WidgetUtil.getId(button), actualId); payload = widgetObject.getJSONObject(IProtocolConstants.WIDGETS_PAYLOAD); JSONArray styles = payload.getJSONArray(IProtocolConstants.KEY_WIDGET_STYLE); assertEquals("PUSH", styles.getString(0)); assertEquals("BORDER", styles.getString(1)); String actualParent = payload.getString(IProtocolConstants.KEY_PARENT_ID); assertEquals(WidgetUtil.getId(shell), actualParent); JSONArray params = payload.getJSONArray(IProtocolConstants.KEY_PARAMETER_LIST); assertTrue(params.getBoolean(1)); }