You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by an...@apache.org on 2007/10/04 15:39:31 UTC
svn commit: r581896 - in /tapestry/tapestry4/trunk/tapestry-framework/src:
java/org/apache/tapestry/pages/ test/org/apache/tapestry/html/
test/org/apache/tapestry/pages/
Author: andyhot
Date: Thu Oct 4 06:39:31 2007
New Revision: 581896
URL: http://svn.apache.org/viewvc?rev=581896&view=rev
Log:
TAPESTRY-1787: tests
Added:
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/html/TestExceptionDisplay.java
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/
tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/TestException.java
Modified:
tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
Modified: tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java?rev=581896&r1=581895&r2=581896&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java (original)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/java/org/apache/tapestry/pages/Exception.java Thu Oct 4 06:39:31 2007
@@ -16,6 +16,7 @@
import org.apache.tapestry.INamespace;
import org.apache.tapestry.TapestryUtils;
+import org.apache.tapestry.engine.ISpecificationSource;
import org.apache.tapestry.event.PageDetachListener;
import org.apache.tapestry.html.BasePage;
import org.apache.tapestry.util.exception.ExceptionAnalyzer;
@@ -33,6 +34,8 @@
public abstract String getPagePackages();
/** @since 4.1.4 */
public abstract String getComponentPackages();
+ /** @since 4.1.4 */
+ public abstract ISpecificationSource getSpecificationSource();
/** Transient property. */
public abstract void setExceptions(ExceptionDescription[] exceptions);
@@ -51,15 +54,22 @@
return getRequestCycle().getResponseBuilder().isDynamic();
}
- public String[] getPackages() {
- INamespace namespace = getRequestCycle().getInfrastructure().getSpecificationSource().getApplicationNamespace();
+ public String[] getPackages()
+ {
+ INamespace namespace = getSpecificationSource().getApplicationNamespace();
String pages = namespace.getPropertyValue(getPagePackages());
String comps = namespace.getPropertyValue(getComponentPackages());
+
StringBuffer sb = new StringBuffer();
- if (pages!=null)
+ if (pages!=null)
+ {
sb.append(pages);
+ if (comps!=null)
+ sb.append(",");
+ }
if (comps!=null)
- sb.append(",").append(comps);
+ sb.append(comps);
+
return TapestryUtils.split(sb.toString(), ',');
}
}
Added: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/html/TestExceptionDisplay.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/html/TestExceptionDisplay.java?rev=581896&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/html/TestExceptionDisplay.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/html/TestExceptionDisplay.java Thu Oct 4 06:39:31 2007
@@ -0,0 +1,31 @@
+package org.apache.tapestry.html;
+
+import org.apache.tapestry.BaseComponentTestCase;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+import java.util.Arrays;
+import java.util.List;
+
+@Test
+public class TestExceptionDisplay extends BaseComponentTestCase {
+
+ @Test(dataProvider = "traces")
+ public void test_isInPackage(List packages, String trace, boolean expected) {
+ ExceptionDisplay display = newInstance(ExceptionDisplay.class,
+ "packages", packages,
+ "trace", trace);
+ assertTrue(display.isInPackage() == expected);
+ }
+
+ @DataProvider(name="traces")
+ public Object[][] createTraces() {
+ return new Object[][] {
+ { Arrays.asList("org.apache.tapestry"), "org.apache", false},
+ { Arrays.asList("org.apache.tapestry.pages", "org.apache.tapestry.components"),
+ "org.apache.tapestry.components", true},
+ { Arrays.asList(), "org.apache", false},
+ { null, "org.apache", false}
+ };
+ }
+}
Added: tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/TestException.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/TestException.java?rev=581896&view=auto
==============================================================================
--- tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/TestException.java (added)
+++ tapestry/tapestry4/trunk/tapestry-framework/src/test/org/apache/tapestry/pages/TestException.java Thu Oct 4 06:39:31 2007
@@ -0,0 +1,48 @@
+package org.apache.tapestry.pages;
+
+import org.apache.tapestry.BaseComponentTestCase;
+import org.apache.tapestry.INamespace;
+import org.apache.tapestry.engine.ISpecificationSource;
+import org.testng.annotations.Test;
+import org.testng.annotations.DataProvider;
+import static org.easymock.EasyMock.*;
+
+@Test
+public class TestException extends BaseComponentTestCase {
+
+ @Test(dataProvider = "packages")
+ public void test_getPackages(String pages, String comps, String[] expected) {
+
+ ISpecificationSource source = newMock(ISpecificationSource.class);
+ INamespace namespace = newMock(INamespace.class);
+ expect(source.getApplicationNamespace()).andReturn(namespace);
+ expect(namespace.getPropertyValue("page-prop")).andReturn(pages);
+ expect(namespace.getPropertyValue("comp-prop")).andReturn(comps);
+
+ replay();
+
+ Exception exceptionPage = newInstance(Exception.class,
+ "specificationSource", source,
+ "pagePackages", "page-prop",
+ "componentPackages", "comp-prop");
+
+ String[] packages = exceptionPage.getPackages();
+ assertListEquals(packages, expected);
+
+ verify();
+
+ }
+
+ @DataProvider(name="packages")
+ public Object[][] createPackages() {
+ return new Object[][] {
+ {null, null, new String[0]},
+ {"pages", "components",
+ new String[]{"pages", "components"} },
+ {"ajax", null, new String[]{"ajax"} },
+ {null, "ajax", new String[]{"ajax"} }
+
+ };
+ }
+
+}