You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2008/08/05 23:29:50 UTC
svn commit: r682958 - in /tapestry/tapestry5/trunk/tapestry-core/src:
main/java/org/apache/tapestry5/corelib/components/
main/java/org/apache/tapestry5/internal/services/
test/java/org/apache/tapestry5/integration/app1/pages/
test/java/org/apache/tapes...
Author: hlship
Date: Tue Aug 5 14:29:48 2008
New Revision: 682958
URL: http://svn.apache.org/viewvc?rev=682958&view=rev
Log:
TAPESTRY-2429: Script text added by RenderSupport.addScript() should be added raw (with XML elements not encoded as entities)
Added:
tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/script_written_raw.txt
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/FormInjector.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.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
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/FormInjector.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/FormInjector.java?rev=682958&r1=682957&r2=682958&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/FormInjector.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/FormInjector.java Tue Aug 5 14:29:48 2008
@@ -28,6 +28,7 @@
import org.apache.tapestry5.internal.services.PageRenderQueue;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.IdAllocator;
+import org.apache.tapestry5.ioc.internal.util.InternalUtils;
import org.apache.tapestry5.json.JSONObject;
import org.apache.tapestry5.runtime.RenderCommand;
import org.apache.tapestry5.services.*;
@@ -184,6 +185,11 @@
final String formId = request.getParameter(FORMID_PARAMETER);
+ if (InternalUtils.isBlank(formId))
+ throw new RuntimeException(String.format(
+ "Query parameter '%s' was blank, but should have been specified in the request.",
+ FORMID_PARAMETER));
+
final ComponentActionSink actionSink = new ComponentActionSink(logger);
PartialMarkupRendererFilter filter = new PartialMarkupRendererFilter()
Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java?rev=682958&r1=682957&r2=682958&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DocumentLinkerImpl.java Tue Aug 5 14:29:48 2008
@@ -140,13 +140,13 @@
e.raw("\n<!--\n");
if (developmentMode)
- e.text("Tapestry.DEBUG_ENABLED = true;\n");
+ e.raw("Tapestry.DEBUG_ENABLED = true;\n");
- e.text("Tapestry.onDOMLoaded(function() {\n");
+ e.raw("Tapestry.onDOMLoaded(function() {\n");
- e.text(scriptBlock.toString());
+ e.raw(scriptBlock.toString());
- e.text("});\n");
+ e.raw("});\n");
e.raw("// -->\n");
}
Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java?rev=682958&r1=682957&r2=682958&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/FormInjectorDemo.java Tue Aug 5 14:29:48 2008
@@ -119,4 +119,15 @@
{
DB.clear();
}
+
+ Object onPassivate()
+ {
+ return "FakePageActivationContextValue";
+ }
+
+ void onActivate(String context)
+ {
+ Assert.assertEquals(context, "FakePageActivationContextValue",
+ "Page activation context was not passed through correctly.");
+ }
}
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=682958&r1=682957&r2=682958&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 Tue Aug 5 14:29:48 2008
@@ -186,4 +186,21 @@
check(document, "no_body_element.txt");
}
+
+ @Test
+ public void script_written_raw() throws Exception
+ {
+ Document document = new Document();
+
+ document.newRootElement("html").element("body").element("p").text("Ready to be updated with scripts.");
+
+ DocumentLinkerImpl linker = new DocumentLinkerImpl(true);
+
+ linker.addScript("for (var i = 0; i < 5; i++) { doIt(i); }");
+
+ linker.updateDocument(document);
+
+ assertEquals(document.toString(), readFile("script_written_raw.txt").trim());
+
+ }
}
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=682958&r1=682957&r2=682958&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 Tue Aug 5 14:29:48 2008
@@ -170,6 +170,19 @@
}
@Test
+ public void entities_inside_comment_not_converted()
+ {
+ MarkupWriter w = new MarkupWriterImpl();
+
+ w.element("root");
+ w.comment("<&>");
+ w.end();
+
+ assertEquals(w.toString(), "<root><!-- <&> --></root>");
+
+ }
+
+ @Test
public void new_text_node_after_comment_node()
{
MarkupWriter w = new MarkupWriterImpl();
Added: tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/script_written_raw.txt
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/script_written_raw.txt?rev=682958&view=auto
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/script_written_raw.txt (added)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/resources/org/apache/tapestry5/internal/services/script_written_raw.txt Tue Aug 5 14:29:48 2008
@@ -0,0 +1,7 @@
+<html><body><p>Ready to be updated with scripts.</p><script type="text/javascript">
+<!--
+Tapestry.onDOMLoaded(function() {
+for (var i = 0; i < 5; i++) { doIt(i); }
+});
+// -->
+</script></body></html>
\ No newline at end of file