From be28e874138b7d28f0cdcfedd1945b463f0c24f3 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Fri, 29 Nov 2019 11:15:42 +1100 Subject: [PATCH] Issue #4331 Async Write Complete test both PENDING and UNREADY Signed-off-by: Greg Wilkins --- .../eclipse/jetty/server/AsyncCompletionTest.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncCompletionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncCompletionTest.java index e1865deefa2f..e6b4089e2d66 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncCompletionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/AsyncCompletionTest.java @@ -171,8 +171,10 @@ public static Stream tests() tests.add(new Object[]{new HelloWorldHandler(), 200, "Hello world"}); tests.add(new Object[]{new SendErrorHandler(499, "Test async sendError"), 499, "Test async sendError"}); tests.add(new Object[]{new AsyncReadyCompleteHandler(), 200, AsyncReadyCompleteHandler.data}); - tests.add(new Object[]{new AsyncWriteCompleteHandler(false), 200, AsyncWriteCompleteHandler.data}); - tests.add(new Object[]{new AsyncWriteCompleteHandler(true), 200, AsyncWriteCompleteHandler.data}); + tests.add(new Object[]{new AsyncWriteCompleteHandler(false, false), 200, AsyncWriteCompleteHandler.data}); + tests.add(new Object[]{new AsyncWriteCompleteHandler(false, true), 200, AsyncWriteCompleteHandler.data}); + tests.add(new Object[]{new AsyncWriteCompleteHandler(true, false), 200, AsyncWriteCompleteHandler.data}); + tests.add(new Object[]{new AsyncWriteCompleteHandler(true, true), 200, AsyncWriteCompleteHandler.data}); return tests.stream().map(Arguments::of); } @@ -275,9 +277,11 @@ private static class AsyncWriteCompleteHandler extends AbstractHandler static String data = "Now is the time for all good men to come to the aid of the party"; final boolean close; + final boolean unReady; - AsyncWriteCompleteHandler(boolean close) + AsyncWriteCompleteHandler(boolean unReady, boolean close) { + this.unReady = unReady; this.close = close; } @@ -296,6 +300,8 @@ public void onWritePossible() throws IOException response.setContentType("text/plain"); response.setContentLength(bytes.length); out.write(bytes); + if (unReady) + assertThat(out.isReady(),Matchers.is(false)); if (close) out.close(); context.complete();