Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Auge2015-04-21 17:49:44 +0000
committerRaymond Auge2015-04-21 17:49:44 +0000
commit47d714b019724ff0af5a61098b23b8709080e0c4 (patch)
tree4fcdabc7a707a46d082b7a7e54633e6aebe5b691 /bundles/org.eclipse.equinox.http.servlet.tests
parent8d7204dd92462ad03be65b1b95b6c7f82f282758 (diff)
downloadrt.equinox.bundles-47d714b019724ff0af5a61098b23b8709080e0c4.tar.gz
rt.equinox.bundles-47d714b019724ff0af5a61098b23b8709080e0c4.tar.xz
rt.equinox.bundles-47d714b019724ff0af5a61098b23b8709080e0c4.zip
Bug 464377 - test
Signed-off-by: Raymond Auge <raymond.auge@liferay.com>
Diffstat (limited to 'bundles/org.eclipse.equinox.http.servlet.tests')
-rw-r--r--bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java22
-rw-r--r--bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java46
2 files changed, 68 insertions, 0 deletions
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
index ce9032f8d..6aa3e70c5 100644
--- a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/ServletTest.java
@@ -76,6 +76,7 @@ import org.eclipse.equinox.http.servlet.tests.util.BaseServletContextAttributeLi
import org.eclipse.equinox.http.servlet.tests.util.BaseServletContextListener;
import org.eclipse.equinox.http.servlet.tests.util.BaseServletRequestAttributeListener;
import org.eclipse.equinox.http.servlet.tests.util.BaseServletRequestListener;
+import org.eclipse.equinox.http.servlet.tests.util.BufferedServlet;
import org.eclipse.equinox.http.servlet.tests.util.ServletRequestAdvisor;
import org.junit.Assert;
@@ -1995,6 +1996,27 @@ public class ServletTest extends TestCase {
Assert.assertEquals(expected, actual);
}
+ public void test_BufferedOutput() throws Exception {
+ Collection<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
+ try {
+ Dictionary<String, String> servletProps1 = new Hashtable<String, String>();
+ servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_NAME, "S9");
+ servletProps1.put(HttpWhiteboardConstants.HTTP_WHITEBOARD_SERVLET_PATTERN, "/s9");
+ registrations.add(getBundleContext().registerService(Servlet.class, new BufferedServlet(), servletProps1));
+
+ Map<String, List<String>> response = requestAdvisor.request(
+ "s9", Collections.<String, List<String>>emptyMap());
+
+ String responseCode = response.get("responseCode").get(0);
+ Assert.assertEquals("200", responseCode);
+ }
+ finally {
+ for (ServiceRegistration<?> registration : registrations) {
+ registration.unregister();
+ }
+ }
+ }
+
private static final String PROTOTYPE = "prototype/";
private static final String CONFIGURE = "configure";
private static final String UNREGISTER = "unregister";
diff --git a/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java
new file mode 100644
index 000000000..f8117b59f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.http.servlet.tests/src/org/eclipse/equinox/http/servlet/tests/util/BufferedServlet.java
@@ -0,0 +1,46 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Raymond Augé and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Raymond Augé <raymond.auge@liferay.com> - Bug 464377
+ ******************************************************************************/
+
+package org.eclipse.equinox.http.servlet.tests.util;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class BufferedServlet extends HttpServlet {
+
+ static final char[] value = String.format("%01023d", 1).toCharArray();
+
+ @Override
+ protected void service(
+ HttpServletRequest request, HttpServletResponse response)
+ throws ServletException, IOException {
+
+ response.setContentType( "text/html" );
+ response.setBufferSize(value.length);
+
+ PrintWriter writer = response.getWriter();
+
+ for (int i = 0; i < 10; i++) {
+ writer.print(value);
+
+ response.flushBuffer();
+ response.setStatus(HttpServletResponse.SC_OK);
+ }
+
+ writer.print(value);
+ }
+
+} \ No newline at end of file

Back to the top