SLING-5345 - StreamRendererServlet return no content-type

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1719924 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServlet.java b/src/main/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServlet.java
index b4623bd..48570cc 100644
--- a/src/main/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServlet.java
+++ b/src/main/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServlet.java
@@ -348,9 +348,12 @@
                 contentType = ct;
             }
         }
-        if (contentType != null) {
-            response.setContentType(contentType);
+        
+        if (contentType == null) {
+            contentType = defaultContentType;
         }
+        
+        response.setContentType(contentType);
 
         String encoding = meta.getCharacterEncoding();
         if (encoding != null) {
diff --git a/src/test/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServletTest.java b/src/test/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServletTest.java
index d40d22a..b671f8b 100644
--- a/src/test/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServletTest.java
+++ b/src/test/java/org/apache/sling/servlets/get/impl/helpers/StreamRendererServletTest.java
@@ -26,8 +26,13 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.Random;
-
+import javax.servlet.ServletContext;
+import junitx.util.PrivateAccessor;
+import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceMetadata;
 import org.junit.Test;
+import org.mockito.Mockito;
 
 public class StreamRendererServletTest {
 
@@ -121,4 +126,24 @@
             assertEquals(expected[i], actual[i - a]);
         }
     }
+    
+    @Test
+    public void test_setHeaders() throws Throwable {
+        
+        final Resource resource = Mockito.mock(Resource.class);
+        final SlingHttpServletResponse response = Mockito.mock(SlingHttpServletResponse .class);
+        final ResourceMetadata meta = Mockito.mock(ResourceMetadata.class);
+        final ServletContext sc = Mockito.mock(ServletContext.class);
+        
+        StreamRendererServlet streamRendererServlet = new StreamRendererServlet(true,new String []{"/"}) {
+            @Override
+            public ServletContext getServletContext() {
+                return sc;
+            }
+        };        
+
+        Mockito.when(resource.getResourceMetadata()).thenReturn(meta);
+        PrivateAccessor.invoke(streamRendererServlet, "setHeaders", new Class[]{Resource.class, SlingHttpServletResponse.class}, new Object[]{resource, response});
+        Mockito.verify(response,Mockito.times(1)).setContentType("application/octet-stream");
+    }
 }