You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2010/05/14 19:35:18 UTC
svn commit: r944351 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry5/ main/java/org/apache/tapestry5/dom/
main/java/org/apache/tapestry5/internal/services/
test/java/org/apache/tapestry5/dom/ test/java/org/apache/tapestr...
Author: hlship
Date: Fri May 14 17:35:18 2010
New Revision: 944351
URL: http://svn.apache.org/viewvc?rev=944351&view=rev
Log:
TAP5-1128: A space is added to a HTML start comment sequence making it impossible to add IE conditional comments
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/MarkupWriter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Comment.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/MarkupWriterImplTest.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/MarkupWriter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/MarkupWriter.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/MarkupWriter.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/MarkupWriter.java Fri May 14 17:35:18 2010
@@ -74,6 +74,7 @@ public interface MarkupWriter
/**
* Adds an XML comment. The text should be just the comment content, the comment delimiters will be provided.
+ * Note that, as of Tapestry 5.2., no extra whitespace is added (previous releases added a space around the text).
*/
void comment(String text);
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Comment.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Comment.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Comment.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/dom/Comment.java Fri May 14 17:35:18 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2008, 2009, 2010 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -34,8 +34,8 @@ public final class Comment extends Node
@Override
void toMarkup(Document document, PrintWriter writer, Map<String, String> namespaceURIToPrefix)
{
- writer.print("<!-- ");
+ writer.print("<!--");
writer.print(comment);
- writer.print(" -->");
+ writer.print("-->");
}
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/SaxTemplateParser.java Fri May 14 17:35:18 2010
@@ -1013,10 +1013,7 @@ public class SaxTemplateParser
{
processTextBuffer(state);
- // Trim the excess whitespace; the Comment DOM node will add a
- // leading/trailing space.
-
- String comment = tokenStream.getText().trim();
+ String comment = tokenStream.getText();
tokenAccumulator.add(new CommentToken(comment, getLocation()));
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/dom/DOMTest.java Fri May 14 17:35:18 2010
@@ -14,15 +14,15 @@
package org.apache.tapestry5.dom;
+import java.util.Collection;
+import java.util.List;
+
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.internal.services.MarkupWriterImpl;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.ioc.internal.util.CollectionFactory;
import org.testng.annotations.Test;
-import java.util.Collection;
-import java.util.List;
-
/**
* Tests for a number of DOM node classes, including {@link org.apache.tapestry5.dom.Element} and {@link
* org.apache.tapestry5.dom.Document}.
@@ -208,7 +208,7 @@ public class DOMTest extends InternalBas
Element e = d.newRootElement("html");
- e.comment("Created by Tapestry 5.0");
+ e.comment(" Created by Tapestry 5.0 ");
assertEquals(d.toString(), "<html><!-- Created by Tapestry 5.0 --></html>");
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/DocumentLinkerImplTest.java Fri May 14 17:35:18 2010
@@ -19,14 +19,9 @@ import org.apache.tapestry5.dom.Element;
import org.apache.tapestry5.dom.XMLMarkupModel;
import org.apache.tapestry5.internal.test.InternalBaseTestCase;
import org.apache.tapestry5.services.URLEncoder;
-import org.apache.tapestry5.services.assets.AssetPathConstructor;
-import org.easymock.EasyMock;
-import org.easymock.IAnswer;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
-import java.io.ObjectInputStream;
-
public class DocumentLinkerImplTest extends InternalBaseTestCase
{
@@ -220,7 +215,7 @@ public class DocumentLinkerImplTest exte
{
Document document = new Document(new XMLMarkupModel());
- document.newRootElement("html").element("head").comment("existing head").getParent().element("body").text(
+ document.newRootElement("html").element("head").comment(" existing head ").getParent().element("body").text(
"body content");
DocumentLinkerImpl linker = new DocumentLinkerImpl(true, "1.2.3");
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/MarkupWriterImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/MarkupWriterImplTest.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/MarkupWriterImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/MarkupWriterImplTest.java Fri May 14 17:35:18 2010
@@ -78,7 +78,7 @@ public class MarkupWriterImplTest extend
{
MarkupWriter w = new MarkupWriterImpl(new XMLMarkupModel());
- w.comment("preamble start");
+ w.comment(" preamble start ");
w.write("preamble text");
w.cdata("CDATA content");
w.writeRaw(" ");
@@ -86,7 +86,7 @@ public class MarkupWriterImplTest extend
w.end();
// You really shouldn't have any text after the close tag of the document, so it
// gets moved to the top, to the "preamble", before the first element.
- w.comment("content after root element in preamble");
+ w.comment(" content after root element in preamble ");
assertEquals(w.getDocument().toString(), readFile("preamble_content.txt"));
}
@@ -220,7 +220,7 @@ public class MarkupWriterImplTest extend
MarkupWriter w = new MarkupWriterImpl();
w.element("root");
- w.comment("A comment");
+ w.comment(" A comment ");
w.end();
assertEquals(w.toString(), "<root><!-- A comment --></root>");
@@ -232,7 +232,7 @@ public class MarkupWriterImplTest extend
MarkupWriter w = new MarkupWriterImpl();
w.element("root");
- w.comment("<&>");
+ w.comment(" <&> ");
w.end();
assertEquals(w.toString(), "<root><!-- <&> --></root>");
@@ -245,7 +245,7 @@ public class MarkupWriterImplTest extend
w.element("root");
w.write("before");
- w.comment("A comment");
+ w.comment(" A comment ");
w.write("after");
w.end();
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java?rev=944351&r1=944350&r2=944351&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/TemplateParserImplTest.java Fri May 14 17:35:18 2010
@@ -1,4 +1,4 @@
-// Copyright 2006, 2007, 2008, 2009 The Apache Software Foundation
+// Copyright 2006, 2007, 2008, 2009, 2010 The Apache Software Foundation
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -280,11 +280,7 @@ public class TemplateParserImplTest exte
CommentToken token1 = get(tokens, 1);
- // Comments are now trimmed of leading and trailing whitespace. This may mean
- // that the output isn't precisely what's in the template, but a) its a comment
- // and b) that's pretty much true of everything in the templates.
-
- assertEquals(token1.getComment(), "Single line comment");
+ assertEquals(token1.getComment(), " Single line comment ");
}
@Test
@@ -577,7 +573,7 @@ public class TemplateParserImplTest exte
assertEquals(token4.getName(), "fred");
CommentToken token6 = get(tokens, 6);
- assertEquals(token6.getComment(), "fred content");
+ assertEquals(token6.getComment(), " fred content ");
TemplateToken token8 = get(tokens, 8);
@@ -596,7 +592,7 @@ public class TemplateParserImplTest exte
assertEquals(token4.getName(), "fred");
CommentToken token6 = get(tokens, 6);
- assertEquals(token6.getComment(), "fred content");
+ assertEquals(token6.getComment(), " fred content ");
TemplateToken token8 = get(tokens, 8);
@@ -639,13 +635,13 @@ public class TemplateParserImplTest exte
assertEquals(token1.getId(), "block0");
CommentToken token2 = get(tokens, 2);
- assertEquals(token2.getComment(), "block0 content");
+ assertEquals(token2.getComment(), " block0 content ");
BlockToken token4 = get(tokens, 4);
assertNull(token4.getId());
CommentToken token5 = get(tokens, 5);
- assertEquals(token5.getComment(), "anon block content");
+ assertEquals(token5.getComment(), " anon block content ");
}
@DataProvider