Author: andyhot
Date: Sun Sep 28 14:18:39 2008
New Revision: 699894
URL: http://svn.apache.org/viewvc?rev=699894&view=rev
Log:
(forgotten) test for JavascriptManagerImpl handling multiple js
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/javascript/TestJavascriptManagerImpl.java
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/javascript/TestJavascriptManagerImpl.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/javascript/TestJavascriptManagerImpl.java?rev=699894&r1=699893&r2=699894&view=diff
==============================================================================
---
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/javascript/TestJavascriptManagerImpl.java
(original)
+++
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/javascript/TestJavascriptManagerImpl.java
Sun Sep 28 14:18:39 2008
@@ -1,12 +1,20 @@
package org.apache.tapestry.javascript;
+import java.io.CharArrayWriter;
+import java.io.InputStream;
+import java.io.PrintWriter;
import java.util.Locale;
import org.apache.tapestry.IAsset;
+import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.TestBase;
+import org.apache.tapestry.markup.MarkupWriterImpl;
+import org.apache.tapestry.markup.UTFMarkupFilter;
import org.apache.tapestry.util.DescribedLocation;
import org.apache.tapestry.asset.AssetSource;
+import org.apache.hivemind.Location;
import org.apache.hivemind.Resource;
+import org.easymock.IAnswer;
import org.testng.annotations.Test;
import static org.easymock.EasyMock.*;
@@ -14,6 +22,9 @@
@Test
public class TestJavascriptManagerImpl extends TestBase
{
+ private static final String SYSTEM_NEWLINE =
(String)java.security.AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("line.separator"));
+
public void test_null_manager()
{
JavascriptManagerImpl impl = createImpl();
@@ -50,14 +61,70 @@
verify();
}
+
+ public void test_several_files_output()
+ {
+ AssetSource source = newMock(AssetSource.class);
+ expectFile(source, "a.js");
+ expectFile(source, "b.js");
+ expectFile(source, "tap");
+ IRequestCycle cycle = newRequestCycle();
+
+ replay();
+
+ JavascriptManager impl = createImpl(source, "a.js, b.js", "", "", "",
"tap", "");
+
+ CharArrayWriter charWriter = new CharArrayWriter();
+ MarkupWriterImpl writer = new MarkupWriterImpl(
+ "text/html", new PrintWriter(charWriter), new
UTFMarkupFilter());
+
+ impl.renderLibraryResources(writer, cycle, true, true);
+ impl.renderLibraryAdaptor(writer, cycle);
+
+ assertEquals(charWriter.toString(),
+ "<script type=\"text/javascript\"
src=\"a.js\"></script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\"
src=\"b.js\"></script>" + SYSTEM_NEWLINE +
+ "<script type=\"text/javascript\"
src=\"tap\"></script>" + SYSTEM_NEWLINE);
+
+ verify();
+ }
- private void expectFile(AssetSource source, String file) {
+ private void expectFile(AssetSource source, final String file)
+ {
expect(source.findAsset((Resource) isNull(), eq(file),
(Locale) isNull(), isA(DescribedLocation.class)))
- .andReturn(newMock(IAsset.class));
+ .andAnswer( new IAnswer<IAsset>()
+ {
+ public IAsset answer() throws Throwable
{
+ return new IAsset()
+ {
+ public String
buildURL()
+ {
+ return file;
+ }
+
+ public InputStream
getResourceAsStream()
+ {
+ return null;
+ }
+
+ public Resource
getResourceLocation()
+ {
+ return null;
+ }
+
+ public Location
getLocation()
+ {
+ return null;
+ }
+ };
+ }
+
+ });
}
- private void assertNullAndEmpty(JavascriptManagerImpl impl) {
+ private void assertNullAndEmpty(JavascriptManagerImpl impl)
+ {
assertNull(impl.getPath());
assertNull(impl.getTapestryAsset());
assertNull(impl.getTapestryPath());
@@ -69,11 +136,13 @@
assertTrue(impl.getWidgetAssets().isEmpty());
}
- private JavascriptManagerImpl createImpl(String...params) {
+ private JavascriptManagerImpl createImpl(String...params)
+ {
return createImpl(newMock(AssetSource.class), params);
}
- private JavascriptManagerImpl createImpl(AssetSource source, String...
params) {
+ private JavascriptManagerImpl createImpl(AssetSource source, String...
params)
+ {
JavascriptManagerImpl impl = new JavascriptManagerImpl();
impl.setAssetSource(source);