You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by bd...@apache.org on 2007/07/25 22:52:34 UTC
svn commit: r559601 - in /tapestry/tapestry4/trunk/tapestry-framework/src:
java/org/apache/tapestry/dojo/ java/org/apache/tapestry/services/impl/
test/org/apache/tapestry/dojo/ test/org/apache/tapestry/services/impl/
Author: bdotte
Date: Wed Jul 25 13:52:33 2007
New Revision: 559601
URL: http://svn.apache.org/viewvc?view=rev&rev=559601
Log:
use line.separator system property consistently between methods and their unit tests so the tests pass on a windows machine
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/AjaxShellDelegateTest.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java?view=diff&rev=559601&r1=559600&r2=559601
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/dojo/AjaxShellDelegate.java Wed Jul 25 13:52:33 2007
@@ -13,13 +13,17 @@
// limitations under the License.
package org.apache.tapestry.dojo;
+import java.util.Locale;
+
import org.apache.hivemind.util.Defense;
-import org.apache.tapestry.*;
+import org.apache.tapestry.IAsset;
+import org.apache.tapestry.IMarkupWriter;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.IRender;
+import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.html.Shell;
import org.apache.tapestry.json.JSONObject;
-import java.util.Locale;
-
/**
* The default rendering delegate responseible for include the dojo sources in
* to the {@link Shell} component.
@@ -37,6 +41,9 @@
/** Client side critical log level. */
public static final String BROWSER_LOG_CRITICAL="CRITICAL";
+ private static final String SYSTEM_NEWLINE= (String)java.security.AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("line.separator"));
+
private IAsset _dojoSource;
private IAsset _dojoFormSource;
@@ -109,7 +116,7 @@
StringBuffer str = new StringBuffer("<script type=\"text/javascript\">");
str.append("djConfig = ").append(dojoConfig.toString())
- .append(" </script>\n\n ");
+ .append(" </script>" + SYSTEM_NEWLINE + SYSTEM_NEWLINE + " ");
// include the core dojo.js package
@@ -132,13 +139,13 @@
if (_debug)
{
- String logRequire = _consoleEnabled ? "dojo.require(\"dojo.debug.console\");\n"
- : "dojo.require(\"dojo.logging.Logger\");\n";
+ String logRequire = _consoleEnabled ? "dojo.require(\"dojo.debug.console\");" + SYSTEM_NEWLINE
+ : "dojo.require(\"dojo.logging.Logger\");" + SYSTEM_NEWLINE;
- str.append("\n<script type=\"text/javascript\">\n");
+ str.append(SYSTEM_NEWLINE + "<script type=\"text/javascript\">" + SYSTEM_NEWLINE);
str.append(logRequire)
.append("dojo.log.setLevel(dojo.log.getLevel(\"").append(_browserLogLevel)
- .append("\"));\n")
+ .append("\"));" + SYSTEM_NEWLINE)
.append("</script>");
}
@@ -150,10 +157,10 @@
tapestryUrl = tapestryUrl.substring(0, tapestryUrl.length() - 1);
}
- str.append("\n<script type=\"text/javascript\">\n")
+ str.append(SYSTEM_NEWLINE + "<script type=\"text/javascript\">" + SYSTEM_NEWLINE)
.append("dojo.registerModulePath(\"tapestry\", \"")
- .append(tapestryUrl).append("\");\n");
- str.append("</script>\n");
+ .append(tapestryUrl).append("\");" + SYSTEM_NEWLINE);
+ str.append("</script>" + SYSTEM_NEWLINE);
// include core tapestry.js package
@@ -162,10 +169,10 @@
// namespace registration
- str.append("\n<script type=\"text/javascript\">\n");
- str.append("dojo.require(\"tapestry.namespace\");\n")
+ str.append(SYSTEM_NEWLINE + "<script type=\"text/javascript\">" + SYSTEM_NEWLINE);
+ str.append("dojo.require(\"tapestry.namespace\");" + SYSTEM_NEWLINE)
.append("tapestry.requestEncoding='").append(cycle.getEngine().getOutputEncoding())
- .append("';\n").append("</script>");
+ .append("';" + SYSTEM_NEWLINE).append("</script>");
writer.printRaw(str.toString());
writer.println();
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java?view=diff&rev=559601&r1=559600&r2=559601
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/services/impl/DojoAjaxResponseBuilder.java Wed Jul 25 13:52:33 2007
@@ -13,11 +13,27 @@
// limitations under the License.
package org.apache.tapestry.services.impl;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hivemind.Resource;
import org.apache.hivemind.util.Defense;
-import org.apache.tapestry.*;
+import org.apache.tapestry.IAsset;
+import org.apache.tapestry.IComponent;
+import org.apache.tapestry.IForm;
+import org.apache.tapestry.IMarkupWriter;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.IRender;
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.NestedMarkupWriter;
+import org.apache.tapestry.TapestryUtils;
import org.apache.tapestry.asset.AssetFactory;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.NullWriter;
@@ -31,10 +47,6 @@
import org.apache.tapestry.util.ScriptUtils;
import org.apache.tapestry.web.WebResponse;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.*;
-
/**
* Main class that handles dojo based ajax responses. These responses are wrapped
@@ -46,6 +58,8 @@
public class DojoAjaxResponseBuilder implements ResponseBuilder
{
private static final Log _log = LogFactory.getLog(DojoAjaxResponseBuilder.class);
+
+ private static final String NEWLINE = System.getProperty("line.separator");
private final AssetFactory _assetFactory;
@@ -455,7 +469,7 @@
IMarkupWriter writer = getWriter(ResponseBuilder.BODY_SCRIPT, ResponseBuilder.SCRIPT_TYPE);
writer.begin("script");
- writer.printRaw("\n//<![CDATA[\n");
+ writer.printRaw(NEWLINE + "//<![CDATA[" + NEWLINE);
}
/**
@@ -465,7 +479,7 @@
{
IMarkupWriter writer = getWriter(ResponseBuilder.BODY_SCRIPT, ResponseBuilder.SCRIPT_TYPE);
- writer.printRaw("\n//]]>\n");
+ writer.printRaw(NEWLINE + "//]]>" + NEWLINE);
writer.end();
}
@@ -498,12 +512,12 @@
{
IMarkupWriter writer = getWriter(ResponseBuilder.BODY_SCRIPT, ResponseBuilder.SCRIPT_TYPE);
- writer.printRaw("\n" + preloadName + " = [];\n");
- writer.printRaw("if (document.images) {\n");
+ writer.printRaw(NEWLINE + preloadName + " = [];" + NEWLINE);
+ writer.printRaw("if (document.images) {" + NEWLINE);
writer.printRaw(script);
- writer.printRaw("}\n");
+ writer.printRaw("}" + NEWLINE);
}
/**
@@ -516,11 +530,11 @@
writer.begin("script");
// return is in XML so must escape any potentially non-xml compliant content
- writer.printRaw("\n//<![CDATA[\n");
+ writer.printRaw(NEWLINE + "//<![CDATA[" + NEWLINE);
writer.printRaw(script);
- writer.printRaw("\n//]]>\n");
+ writer.printRaw(NEWLINE + "//]]>" + NEWLINE);
writer.end();
}
@@ -687,9 +701,9 @@
_writer.printRaw("<?xml version=\"1.0\" encoding=\"" + _cycle.getInfrastructure().getOutputEncoding() + "\"?>");
_writer.printRaw("<!DOCTYPE html "
+ "PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" "
- + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [\n"
- + "<!ENTITY nbsp ' '>\n"
- + "]>\n");
+ + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE
+ + "<!ENTITY nbsp ' '>" + NEWLINE
+ + "]>" + NEWLINE);
_writer.printRaw("<ajax-response>");
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/AjaxShellDelegateTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/AjaxShellDelegateTest.java?view=diff&rev=559601&r1=559600&r2=559601
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/AjaxShellDelegateTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/dojo/AjaxShellDelegateTest.java Wed Jul 25 13:52:33 2007
@@ -13,16 +13,21 @@
// limitations under the License.
package org.apache.tapestry.dojo;
+import java.util.Locale;
+
import org.apache.hivemind.Resource;
-import org.apache.tapestry.*;
+import org.apache.tapestry.BaseComponentTestCase;
+import org.apache.tapestry.IAsset;
+import org.apache.tapestry.IEngine;
+import org.apache.tapestry.IMarkupWriter;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.ILink;
import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.expect;
import org.testng.annotations.Test;
-import java.util.Locale;
-
/**
* Tests basic functionality of {@link AjaxShellDelegate}.
@@ -154,19 +159,19 @@
verify();
assertBuffer("<script type=\"text/javascript\">djConfig = {\"isDebug\":true,\"baseRelativePath\":\"http:///dojo/path\"," +
- "\"parseWidgets\":false,\"locale\":\"en-gb\"} </script>\n" +
- "\n" +
- " <script type=\"text/javascript\" src=\"http:///dojo/path/dojo.js\"></script>\n" +
- "<script type=\"text/javascript\">\n" +
- "dojo.require(\"dojo.debug.console\");\n" +
- "dojo.log.setLevel(dojo.log.getLevel(\"DEBUG\"));\n" +
- "</script>\n" +
- "<script type=\"text/javascript\">\n" +
- "dojo.registerModulePath(\"tapestry\", \"/tapestry\");\n" +
- "</script>\n" +
- "<script type=\"text/javascript\" src=\"/tapestry/tapestry.js\"></script>\n" +
- "<script type=\"text/javascript\">\n" +
- "dojo.require(\"tapestry.namespace\");\n" +
+ "\"parseWidgets\":false,\"locale\":\"en-gb\"} </script>" + SYSTEM_NEWLINE +
+ SYSTEM_NEWLINE +
+ " <script type=\"text/javascript\" src=\"http:///dojo/path/dojo.js\"></script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\">" + SYSTEM_NEWLINE +
+ "dojo.require(\"dojo.debug.console\");" + SYSTEM_NEWLINE +
+ "dojo.log.setLevel(dojo.log.getLevel(\"DEBUG\"));" + SYSTEM_NEWLINE +
+ "</script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\">" + SYSTEM_NEWLINE +
+ "dojo.registerModulePath(\"tapestry\", \"/tapestry\");" + SYSTEM_NEWLINE +
+ "</script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\" src=\"/tapestry/tapestry.js\"></script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\">" + SYSTEM_NEWLINE +
+ "dojo.require(\"tapestry.namespace\");" + SYSTEM_NEWLINE +
"tapestry.requestEncoding='utf-foo';" + SYSTEM_NEWLINE +
"</script>" + SYSTEM_NEWLINE);
}
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java?view=diff&rev=559601&r1=559600&r2=559601
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/services/impl/DojoAjaxResponseBuilderTest.java Wed Jul 25 13:52:33 2007
@@ -13,8 +13,24 @@
// limitations under the License.
package org.apache.tapestry.services.impl;
+import java.io.CharArrayWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
import org.apache.hivemind.Location;
-import org.apache.tapestry.*;
+import org.apache.tapestry.BaseComponentTestCase;
+import org.apache.tapestry.IComponent;
+import org.apache.tapestry.IMarkupWriter;
+import org.apache.tapestry.IPage;
+import org.apache.tapestry.IRender;
+import org.apache.tapestry.IRequestCycle;
+import org.apache.tapestry.NestedMarkupWriter;
+import org.apache.tapestry.PageRenderSupport;
+import org.apache.tapestry.RedirectException;
+import org.apache.tapestry.TapestryUtils;
import org.apache.tapestry.asset.AssetFactory;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.ILink;
@@ -29,17 +45,14 @@
import org.apache.tapestry.services.ServiceConstants;
import org.apache.tapestry.util.ContentType;
import org.apache.tapestry.web.WebResponse;
-import static org.easymock.EasyMock.*;
+import static org.easymock.EasyMock.checkOrder;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.expectLastCall;
+import static org.easymock.EasyMock.isA;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
-import java.io.CharArrayWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
/**
* Tests functionality of {@link DojoAjaxResponseBuilder}.
@@ -151,9 +164,9 @@
writer.printRaw("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
writer.printRaw("<!DOCTYPE html "
+ "PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" "
- + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [\n"
- + "<!ENTITY nbsp ' '>\n"
- + "]>\n");
+ + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE
+ + "<!ENTITY nbsp ' '>" + NEWLINE
+ + "]>" + NEWLINE);
writer.printRaw("<ajax-response>");
expect(writer.getNestedWriter()).andReturn(nested);
@@ -420,17 +433,17 @@
builder.endBodyScript(mw, cycle);
builder.endResponse();
- assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [\n" +
- "<!ENTITY nbsp \' \'>\n" +
- "]>\n" +
- "<ajax-response><response id=\"bodyscript\" type=\"script\"><script>\n" +
- "//<![CDATA[\n" +
- "\n" +
- "preloadedvarname = [];\n" +
- "if (document.images) {\n" +
- "image initializations}\n" +
- "var e=4;\n" +
- "//]]>\n" +
+ assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE +
+ "<!ENTITY nbsp \' \'>" + NEWLINE +
+ "]>" + NEWLINE +
+ "<ajax-response><response id=\"bodyscript\" type=\"script\"><script>" + NEWLINE +
+ "//<![CDATA[" + NEWLINE +
+ NEWLINE +
+ "preloadedvarname = [];" + NEWLINE +
+ "if (document.images) {" + NEWLINE +
+ "image initializations}" + NEWLINE +
+ "var e=4;" + NEWLINE +
+ "//]]>" + NEWLINE +
"</script></response></ajax-response>");
verify();
@@ -463,9 +476,9 @@
builder.writeExternalScript(mw, script2, cycle);
builder.endResponse();
- assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [\n" +
- "<!ENTITY nbsp \' \'>\n" +
- "]>\n" +
+ assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE +
+ "<!ENTITY nbsp \' \'>" + NEWLINE +
+ "]>" + NEWLINE +
"<ajax-response><response id=\"includescript\" type=\"script\">"
+ "<include url=\"http://noname/js/package.js\" />"
+ "<include url=\"http://noname/js/package2.js\" /></response></ajax-response>");
@@ -498,13 +511,13 @@
builder.writeInitializationScript(mw, script);
builder.endResponse();
- assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [\n" +
- "<!ENTITY nbsp \' \'>\n" +
- "]>\n" +
- "<ajax-response><response id=\"initializationscript\" type=\"script\"><script>\n" +
- "//<![CDATA[\n" +
- "doThisInInit();\n" +
- "//]]>\n" +
+ assertOutput("<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE +
+ "<!ENTITY nbsp \' \'>" + NEWLINE +
+ "]>" + NEWLINE +
+ "<ajax-response><response id=\"initializationscript\" type=\"script\"><script>" + NEWLINE +
+ "//<![CDATA[" + NEWLINE +
+ "doThisInInit();" + NEWLINE +
+ "//]]>" + NEWLINE +
"</script></response></ajax-response>");
verify();