Adding testcase for windowed Generator
This commit is contained in:
parent
6350470e3f
commit
51e77c93f3
|
@ -0,0 +1,43 @@
|
|||
package org.eclipse.jetty.websocket.protocol;
|
||||
|
||||
import static org.hamcrest.Matchers.*;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class GeneratorTest
|
||||
{
|
||||
@Test
|
||||
public void testWindowedGenerate()
|
||||
{
|
||||
byte payload[] = new byte[10240];
|
||||
Arrays.fill(payload,(byte)0x44);
|
||||
|
||||
WebSocketFrame frame = WebSocketFrame.binary(payload);
|
||||
|
||||
int totalParts = 0;
|
||||
int totalBytes = 0;
|
||||
int windowSize = 1024;
|
||||
int expectedHeaderSize = 4; // TODO: correct size
|
||||
int expectedParts = (payload.length + expectedHeaderSize) / windowSize;
|
||||
|
||||
Generator generator = new UnitGenerator();
|
||||
|
||||
boolean done = false;
|
||||
while (!done)
|
||||
{
|
||||
Assert.assertThat("Too many parts",totalParts,lessThan(20));
|
||||
|
||||
ByteBuffer buf = generator.generate(windowSize,frame);
|
||||
|
||||
totalBytes += buf.remaining();
|
||||
totalParts++;
|
||||
}
|
||||
|
||||
Assert.assertThat("Created Parts",totalParts,is(expectedParts));
|
||||
Assert.assertThat("Created Bytes",totalBytes,is(payload.length + expectedHeaderSize));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue