package com.redspr.redquerybuilder.js.client; import org.junit.Test; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.user.client.ui.RootPanel; public class GwtTestJsVisitor extends AbstractTest { @Test public void testReadArguments() throws Throwable { RootPanel.get().getElement().setAttribute("id", "rqb"); //test(json, "SELECT priority FROM ticket WHERE priority IN (?, ?)", // args("foo", "bar"), null); JsConfiguration config = new VisitorJs().config(); JavaScriptObject result2 = new VisitorJs().start(config, "SELECT priority FROM ticket WHERE priority IN (?, ?)", args("foo", "bar")); String result = new VisitorJs().visitValues(result2); assertEquals("([foo, bar])", result); } @Test public void testAddMessages() { RootPanel.get().getElement().setAttribute("id", "rqb"); //test(json, "SELECT priority FROM ticket WHERE priority IN (?, ?)", // args("foo", "bar"), null); JsConfiguration config = new VisitorJs().config(); JavaScriptObject result2 = new VisitorJs().start(config, "SELECT priority FROM ticket WHERE priority IN (?, ?)", args("foo", "bar")); String result = new VisitorJs().visitMessages(result2); String html = RootPanel.get().getElement().getInnerHTML(); assertTrue(html.contains("Magical message")); } @Test public void testSerialise() throws Exception { // XXX copy n paste RootPanel.get().getElement().setAttribute("id", "rqb"); JsConfiguration config = new VisitorJs().config(); JavaScriptObject result2 = new VisitorJs().start(config, "SELECT priority FROM ticket WHERE priority IN (?, ?) AND priority = ?", args("foo", "bar")); String result = new VisitorJs().visitSerialise(result2); assertEquals("(SELECT:WIP(LOGIC:AND(COMPARISON:IN(COLUMN:PRIORITY)(PARAMETER:?))(COMPARISON:=(COLUMN:PRIORITY)(PARAMETER:?))))", result); } }