|
Play Framework/Scala example source code file (ByteChunksTest.java)
The ByteChunksTest.java Play Framework example source code/* * Copyright (C) 2009-2013 Typesafe Inc. <http://www.typesafe.com> */ package play.mvc; import java.util.ArrayList; import java.util.Arrays; import java.util.concurrent.CountDownLatch; import org.junit.Test; import play.api.libs.iteratee.TestChannel; import play.libs.F; import play.mvc.Results.ByteChunks; import play.mvc.Results.Chunks; import static java.util.concurrent.TimeUnit.SECONDS; import static org.junit.Assert.assertTrue; public class ByteChunksTest { F.Function2<byte[], byte[], Boolean> arraysEqual = new F.Function2<byte[], byte[], Boolean>() { @Override public Boolean apply(byte[] a1, byte[] a2) { return Arrays.equals(a1, a2); } }; @Test public void testByteChunks() throws Throwable { final TestChannel<byte[]> testChannel = new TestChannel<byte[]>(); final Chunks.Out<byte[]> out = new Chunks.Out<byte[]>(testChannel, new ArrayList<F.Callback0>()); Chunks<byte[]> chunks = new ByteChunks() { @Override public void onReady(Chunks.Out<byte[]> out) { out.write("a".getBytes()); out.write("b".getBytes()); out.close(); } }; chunks.onReady(out); testChannel.expect("a".getBytes(), arraysEqual); testChannel.expect("b".getBytes(), arraysEqual); testChannel.expectEOF(); testChannel.expectEnd(); testChannel.expectEmpty(); } @Test public void testWhenReadyFactory() throws Exception { final CountDownLatch ready = new CountDownLatch(1); Chunks<byte[]> chunks = ByteChunks.whenReady(new F.Callback<Chunks.Out<byte[]>>() { @Override public void invoke(Chunks.Out<byte[]> out) { ready.countDown(); } }); chunks.onReady(null); assertTrue("ByteChunks.onReady callback was not invoked", ready.await(1, SECONDS)); } } Other Play Framework source code examplesHere is a short list of links related to this Play Framework ByteChunksTest.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.