|
Play Framework/Scala example source code file (CometTest.java)
The CometTest.java Play Framework example source code/* * Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> */ package play.libs; import com.fasterxml.jackson.databind.JsonNode; import java.util.ArrayList; import java.util.concurrent.CountDownLatch; import org.junit.Test; import play.api.libs.iteratee.TestChannel; import play.libs.F; import play.libs.Json; import play.mvc.Results.Chunks; import static java.util.concurrent.TimeUnit.SECONDS; import static org.fest.assertions.Assertions.assertThat; public class CometTest { @Test public void testOnReady() throws Exception { final TestChannel<String> testChannel = new TestChannel<String>(); final Chunks.Out<String> out = new Chunks.Out<String>(testChannel, new ArrayList<F.Callback0>()); final CountDownLatch invoked = new CountDownLatch(1); Comet comet = new Comet("test") { @Override public void onConnected() { invoked.countDown(); } }; comet.onReady(out); assertThat(invoked.await(1, SECONDS)).isTrue(); testChannel.expect(comet.initialBuffer()); testChannel.expectEmpty(); } @Test public void testMessageSends() { final TestChannel<String> testChannel = new TestChannel<String>(); final Chunks.Out<String> out = new Chunks.Out<String>(testChannel, new ArrayList<F.Callback0>()); Comet comet = new Comet("test") { @Override public void onConnected() {} }; comet.onReady(out); String message = "test"; JsonNode json = Json.newObject().put("test", "data"); String jsonMessage = Json.stringify(json); comet.sendMessage(message); comet.sendMessage(json); testChannel.expect(comet.initialBuffer()); testChannel.expect("<script type=\"text/javascript\">test('" + message + "');</script>"); testChannel.expect("<script type=\"text/javascript\">test(" + jsonMessage + ");</script>"); testChannel.expectEmpty(); } @Test public void testClose() throws Exception { final TestChannel<String> testChannel = new TestChannel<String>(); final Chunks.Out<String> out = new Chunks.Out<String>(testChannel, new ArrayList<F.Callback0>()); Comet comet = new Comet("test") { @Override public void onConnected() {} }; comet.onReady(out); comet.close(); testChannel.expect(comet.initialBuffer()); testChannel.expectEOF(); testChannel.expectEnd(); testChannel.expectEmpty(); } @Test public void testWhenConnectedFactory() throws Exception { final CountDownLatch invoked = new CountDownLatch(1); Comet comet = Comet.whenConnected("test", new F.Callback<Comet>() { @Override public void invoke(Comet c) { invoked.countDown(); } }); comet.onConnected(); assertThat(invoked.await(1, SECONDS)).isTrue(); } } Other Play Framework source code examplesHere is a short list of links related to this Play Framework CometTest.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.