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 '&#160;'>\n"
-                + "]>\n");
+                + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE
+                + "<!ENTITY nbsp '&#160;'>" + 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 '&#160;'>\n"
-                        + "]>\n");
+                        + "\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" [" + NEWLINE
+                        + "<!ENTITY nbsp '&#160;'>" + 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 \'&#160;\'>\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 \'&#160;\'>" + 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 \'&#160;\'>\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 \'&#160;\'>" + 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 \'&#160;\'>\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 \'&#160;\'>" + NEWLINE +
+                     "]>" + NEWLINE +
+                     "<ajax-response><response id=\"initializationscript\" type=\"script\"><script>" + NEWLINE +
+                     "//<![CDATA[" + NEWLINE +
+                     "doThisInInit();" + NEWLINE +
+                     "//]]>" + NEWLINE +
                      "</script></response></ajax-response>");
 
         verify();