package tv.dyndns.kishibe.qmaclone.client; import org.junit.Test; import tv.dyndns.kishibe.qmaclone.client.packet.PacketUserData.WebSocketUsage; import com.google.gwt.user.client.rpc.AsyncCallback; public class StatusUpdaterTest extends QMACloneGWTTestCaseBase { private StatusUpdater<Object> updater; private AsyncCallback<Object> callbackArgument; private Object statusArgument; // private String jsonArgument; @Override protected void gwtSetUp() throws Exception { super.gwtSetUp(); callbackArgument = null; statusArgument = null; // jsonArgument = null; updater = new StatusUpdater<Object>("protocol", 10 * 1000) { @Override protected void request(AsyncCallback<Object> callback) { callbackArgument = callback; } @Override protected Object parse(String json) { // jsonArgument = json; return new Object(); } @Override protected void onReceived(Object status) { statusArgument = status; } }; } @Test public void testCommandUpdate() { updater.status = StatusUpdater.Status.RPC; assertTrue(updater.commandUpdate.execute()); assertNotNull(callbackArgument); } @Test public void testCallback() { updater.callback.onSuccess(new Object()); assertNotNull(statusArgument); } @Test public void testStart() throws Exception { updater.start(); } @Test public void testStop() { updater.stop(); } @Test public void testDoesUseWebSocket() { UserData.get().setUserCode(99999999); UserData.get().setWebSocketUsage(WebSocketUsage.On); assertTrue(updater.isWebSocketUsed()); UserData.get().setUserCode(99999999); UserData.get().setWebSocketUsage(WebSocketUsage.Default); assertTrue(updater.isWebSocketUsed()); UserData.get().setUserCode(0); UserData.get().setWebSocketUsage(WebSocketUsage.Default); assertTrue(updater.isWebSocketUsed()); UserData.get().setUserCode(0); UserData.get().setWebSocketUsage(WebSocketUsage.Off); assertFalse(updater.isWebSocketUsed()); } }