Author: tv
Date: Mon Jul 30 10:42:27 2018
New Revision: 1837043

URL: http://svn.apache.org/viewvc?rev=1837043&view=rev
Log:
Time for HTML5, isn't it?

Added:
    turbine/core/trunk/src/test/org/apache/turbine/util/template/
    
turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java
   (with props)
Modified:
    
turbine/core/trunk/src/java/org/apache/turbine/util/template/HtmlPageAttributes.java

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/util/template/HtmlPageAttributes.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/template/HtmlPageAttributes.java?rev=1837043&r1=1837042&r2=1837043&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/util/template/HtmlPageAttributes.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/util/template/HtmlPageAttributes.java
 Mon Jul 30 10:42:27 2018
@@ -124,10 +124,10 @@ public class HtmlPageAttributes
     private String defaultHtmlDoctypeRootElement = 
TurbineConstants.DEFAULT_HTML_DOCTYPE_ROOT_ELEMENT_DEFAULT;
 
     @TurbineConfiguration( 
TurbineConstants.DEFAULT_HTML_DOCTYPE_IDENTIFIER_KEY )
-    private String defaultHtmlDoctypeIdentifier = 
TurbineConstants.DEFAULT_HTML_DOCTYPE_IDENTIFIER_DEFAULT;
+    private String defaultHtmlDoctypeIdentifier;
 
     @TurbineConfiguration( TurbineConstants.DEFAULT_HTML_DOCTYPE_URI_KEY )
-    private String defaultHtmlDoctypeUri = 
TurbineConstants.DEFAULT_HTML_DOCTYPE_URI_DEFAULT;
+    private String defaultHtmlDoctypeUri;
 
     /**
      * Construct a new instance
@@ -641,7 +641,7 @@ public class HtmlPageAttributes
             }
             else
             {
-                doctype = buildDoctype(tag, defaultHtmlDoctypeIdentifier, 
defaultHtmlDoctypeUri);
+                doctype = getDoctype(tag, defaultHtmlDoctypeIdentifier, 
defaultHtmlDoctypeUri);
             }
         }
 
@@ -656,7 +656,7 @@ public class HtmlPageAttributes
      * @param uri the uri for the doctype declaration.
      * @return the doctype.
      */
-    private String buildDoctype(String tag, String identifier, String uri)
+    public String getDoctype(String tag, String identifier, String uri)
     {
         StringBuilder doctypeBuf = new StringBuilder("<!DOCTYPE ");
         doctypeBuf.append(tag);
@@ -666,14 +666,17 @@ public class HtmlPageAttributes
             doctypeBuf.append(" PUBLIC \"");
             doctypeBuf.append(identifier);
             doctypeBuf.append("\" \"");
+            doctypeBuf.append(uri);
+            doctypeBuf.append('"');
         }
-        else
+        else if (StringUtils.isNotEmpty(uri))
         {
             doctypeBuf.append(" SYSTEM \"");
+            doctypeBuf.append(uri);
+            doctypeBuf.append('"');
         }
 
-        doctypeBuf.append(uri);
-        doctypeBuf.append("\">");
+        doctypeBuf.append('>');
 
         return doctypeBuf.toString();
     }

Added: 
turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java?rev=1837043&view=auto
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java
 (added)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java
 Mon Jul 30 10:42:27 2018
@@ -0,0 +1,50 @@
+package org.apache.turbine.util.template;
+
+/*
+ * 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.
+ */
+
+import static org.junit.Assert.assertEquals;
+
+import org.apache.turbine.TurbineConstants;
+import org.junit.Test;
+
+/**
+ * Testing of the HtmlPageAttributes class
+ *
+ * @author <a href="mailto:[email protected]";>Thomas Vandahl</a>
+ */
+public class HtmlPageAttributesTest
+{
+    @Test public void testBuildDoctype()
+    {
+        HtmlPageAttributes page = new HtmlPageAttributes();
+        assertEquals("<!DOCTYPE html>", page.getDoctype("html", null, null));
+        assertEquals("<!DOCTYPE html>", page.getDoctype("html", "", ""));
+        assertEquals("<!DOCTYPE html SYSTEM \"bla\">", page.getDoctype("html", 
"", "bla"));
+
+        assertEquals("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 
Transitional//EN\" "
+                + 
"\"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd\";>",
+                
page.getDoctype(TurbineConstants.DEFAULT_HTML_DOCTYPE_ROOT_ELEMENT_DEFAULT,
+                        
TurbineConstants.DEFAULT_HTML_DOCTYPE_IDENTIFIER_DEFAULT,
+                        TurbineConstants.DEFAULT_HTML_DOCTYPE_URI_DEFAULT));
+
+        // HTML 5 is the default
+        assertEquals("<!DOCTYPE HTML>", page.getDefaultDoctype());
+    }
+}

Propchange: 
turbine/core/trunk/src/test/org/apache/turbine/util/template/HtmlPageAttributesTest.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain


Reply via email to