You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ca...@apache.org on 2007/05/22 17:45:07 UTC
svn commit: r540612 - in /myfaces/shared/trunk/core/src:
main/java/org/apache/myfaces/shared/renderkit/html/
test/java/org/apache/myfaces/shared/renderkit/html/
Author: cagatay
Date: Tue May 22 08:45:05 2007
New Revision: 540612
URL: http://svn.apache.org/viewvc?view=rev&rev=540612
Log:
Fixed MYFACES-1641, when the accept type is only text/*, content type is set to text/html
Added:
myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/
myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java (with props)
Modified:
myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java?view=diff&rev=540612&r1=540611&r2=540612
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtils.java Tue May 22 08:45:05 2007
@@ -1327,6 +1327,7 @@
private static String HTML_CONTENT_TYPE = "text/html";
+ private static String TEXT_ANY_CONTENT_TYPE = "text/*";
private static String ANY_CONTENT_TYPE = "*/*";
public static String DEFAULT_CHAR_ENCODING = "ISO-8859-1";
@@ -1387,14 +1388,15 @@
public static String[] getSupportedContentTypes() {
//noinspection UnnecessaryLocalVariable
- String[] supportedContentTypeArray = new String[]{HTML_CONTENT_TYPE, ANY_CONTENT_TYPE,
+ String[] supportedContentTypeArray = new String[]{HTML_CONTENT_TYPE, TEXT_ANY_CONTENT_TYPE, ANY_CONTENT_TYPE,
XHTML_CONTENT_TYPE, APPLICATION_XML_CONTENT_TYPE, TEXT_XML_CONTENT_TYPE};
return supportedContentTypeArray;
}
private static boolean isHTMLContentType(String contentType) {
return contentType.indexOf(HTML_CONTENT_TYPE) != -1 ||
- contentType.indexOf(ANY_CONTENT_TYPE) != -1;
+ contentType.indexOf(ANY_CONTENT_TYPE) != -1 ||
+ contentType.indexOf(TEXT_ANY_CONTENT_TYPE) != -1 ;
}
public static boolean isXHTMLContentType(String contentType) {
Added: myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java?view=auto&rev=540612
==============================================================================
--- myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java (added)
+++ myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java Tue May 22 08:45:05 2007
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.myfaces.shared.renderkit.html;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.apache.shale.test.base.AbstractJsfTestCase;
+
+/**
+ * @author cagatay (latest modification by $Author$)
+ * @version $Revision$ $Date$
+ */
+public class HtmlRendererUtilsTest extends AbstractJsfTestCase {
+
+ public HtmlRendererUtilsTest(String name) {
+ super(name);
+ }
+
+ public void setUp() {
+ super.setUp();
+ }
+
+ public void tearDown() {
+ super.tearDown();
+ }
+
+ public static Test suite() {
+ return new TestSuite(HtmlRendererUtilsTest.class);
+ }
+
+ public void testSelectContentType() {
+ MockExternalContext mockExternalContext = new MockExternalContext(servletContext,request, response);
+ facesContext.setExternalContext(mockExternalContext);
+
+ mockExternalContext.getRequestHeaderMap().put("Accept", "text/html");
+ String selectedContentType = HtmlRendererUtils.selectContentType(null);
+ assertEquals("text/html", selectedContentType);
+
+ mockExternalContext.getRequestHeaderMap().put("Accept", "text/*");
+ selectedContentType = HtmlRendererUtils.selectContentType(null);
+ assertEquals("text/html", selectedContentType);
+
+ mockExternalContext.getRequestHeaderMap().put("Accept", "text/xml");
+ selectedContentType = HtmlRendererUtils.selectContentType(null);
+ assertEquals("application/xhtml+xml", selectedContentType);
+ }
+
+ //shale's external context does not support playing with request header map
+ static public class MockExternalContext extends org.apache.shale.test.mock.MockExternalContext {
+
+ private Map requestHeaderMap = new HashMap();
+
+ public MockExternalContext(ServletContext context,HttpServletRequest request, HttpServletResponse response) {
+ super(context, request, response);
+ }
+
+ public Map getRequestHeaderMap() {
+ return requestHeaderMap;
+ }
+
+ public void setRequestHeaderMap(Map requestHeaderMap) {
+ this.requestHeaderMap = requestHeaderMap;
+ }
+ }
+}
\ No newline at end of file
Propchange: myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: myfaces/shared/trunk/core/src/test/java/org/apache/myfaces/shared/renderkit/html/HtmlRendererUtilsTest.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL