You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by jk...@apache.org on 2006/06/29 05:00:17 UTC
svn commit: r417925 - in /tapestry/tapestry4/trunk: ./
framework/src/scripts/ framework/src/test/org/apache/tapestry/
framework/src/test/org/apache/tapestry/binding/
framework/src/test/org/apache/tapestry/components/
framework/src/test/org/apache/tapes...
Author: jkuhnert
Date: Wed Jun 28 20:00:15 2006
New Revision: 417925
URL: http://svn.apache.org/viewvc?rev=417925&view=rev
Log:
Wow.....I really like testng..Go right click->run as testng test on the scripted mock tests now to see something
more meaningful in your UI when running from idea/eclipse. Very cool!
Added:
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMockApplications.java
- copied, changed from r417829, tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/MockTester.java
Removed:
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/MockTester.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMocks.java
Modified:
tapestry/tapestry4/trunk/ (props changed)
tapestry/tapestry4/trunk/framework/src/scripts/TestLocalization.xml
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/BindingTestCase.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestExpressionBinding.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestMessageBinding.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestBlock.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestConditional.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/describe/ReportStatusHubTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/error/StaleSessionExceptionPresenterTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestFormComponentContributorContext.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestImageSubmit.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestValidatableFieldSupportImpl.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/validator/TestValidatorFactory.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/FrameTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/ScriptTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/c19/Two.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/ClientPropertyPersistenceStrategyTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/PersistentPropertyDataEncoderTest.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/services/impl/TestBaseTagWriter.java
tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/test/mock/MockResponse.java
Propchange: tapestry/tapestry4/trunk/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Wed Jun 28 20:00:15 2006
@@ -14,3 +14,4 @@
.clover
TestNG context suite.launch
tapestry_org.apache.tapestry.*.xml
+temp-testng-customsuite.xml
Modified: tapestry/tapestry4/trunk/framework/src/scripts/TestLocalization.xml
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/scripts/TestLocalization.xml?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/scripts/TestLocalization.xml (original)
+++ tapestry/tapestry4/trunk/framework/src/scripts/TestLocalization.xml Wed Jun 28 20:00:15 2006
@@ -57,7 +57,7 @@
]]>
</assert-output>
- </request>
+ </request>
<request>
<parameter name="service" value="page"/>
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java Wed Jun 28 20:00:15 2006
@@ -15,6 +15,7 @@
package org.apache.tapestry;
import static org.easymock.EasyMock.anyObject;
+import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.testng.AssertJUnit.assertEquals;
@@ -215,7 +216,8 @@
protected IBinding newBinding(Object value)
{
IBinding binding = newMock(IBinding.class);
-
+ checkOrder(binding, false);
+
expect(binding.getObject()).andReturn(value);
return binding;
}
@@ -264,6 +266,7 @@
protected IPage newPage(String name, int count)
{
IPage page = newMock(IPage.class);
+ checkOrder(page, false);
expect(page.getPageName()).andReturn(name).times(count);
@@ -423,6 +426,8 @@
protected Location fabricateLocation(int line)
{
Location location = newLocation();
+ checkOrder(location, false);
+
expect(location.getLineNumber()).andReturn(line).anyTimes();
return location;
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/BindingTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/BindingTestCase.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/BindingTestCase.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/BindingTestCase.java Wed Jun 28 20:00:15 2006
@@ -19,7 +19,6 @@
import org.apache.tapestry.BaseComponentTestCase;
import org.apache.tapestry.IComponent;
import org.apache.tapestry.coerce.ValueConverter;
-import org.testng.annotations.Test;
/**
* Base class for building tests for {@link org.apache.tapestry.IBinding}implementations.
@@ -27,7 +26,6 @@
* @author Howard M. Lewis Ship
* @since 4.0
*/
-@Test
public abstract class BindingTestCase extends BaseComponentTestCase
{
protected IComponent newComponent(String extendedId)
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestExpressionBinding.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestExpressionBinding.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestExpressionBinding.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestExpressionBinding.java Wed Jun 28 20:00:15 2006
@@ -19,6 +19,7 @@
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertSame;
+import org.apache.hivemind.Location;
import org.apache.tapestry.BindingException;
import org.apache.tapestry.IComponent;
import org.apache.tapestry.coerce.ValueConverter;
@@ -41,7 +42,8 @@
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
IComponent component = newMock(IComponent.class);
-
+ Location l = fabricateLocation(1);
+
Object compiled = new Object();
Object expressionValue = "EXPRESSION-VALUE";
@@ -58,7 +60,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
assertEquals(true, b.isInvariant());
@@ -83,7 +85,8 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent();
Object compiled = new Object();
@@ -91,7 +94,7 @@
Object expressionValue2 = new Object();
ValueConverter vc = newValueConverter();
-
+
expect(ec.getCompiledExpression("exp")).andReturn(compiled);
expect(ev.isConstant("exp")).andReturn(false);
@@ -99,12 +102,12 @@
expect(ev.readCompiled(component, compiled)).andReturn(expressionValue1);
expect(ev.readCompiled(component, compiled)).andReturn(expressionValue2);
-
+
replay();
-
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
-
+
assertEquals(false, b.isInvariant());
// Check that the expression is re-evaluated on
@@ -121,7 +124,8 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent();
Object compiled = new Object();
@@ -137,7 +141,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
b.setObject(newValue);
@@ -149,10 +153,11 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent("Foo/bar.baz");
Object compiled = new Object();
-
+
ValueConverter vc = newValueConverter();
expect(ec.getCompiledExpression("exp")).andReturn(compiled);
@@ -161,7 +166,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("parameter foo", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("parameter foo", l, vc, component,
"exp", ev, ec);
try
@@ -183,7 +188,8 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent();
Object compiled = new Object();
@@ -202,7 +208,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
try
@@ -223,7 +229,8 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent();
ValueConverter vc = newValueConverter();
@@ -233,7 +240,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
try
@@ -254,7 +261,8 @@
{
ExpressionEvaluator ev = newMock(ExpressionEvaluator.class);
ExpressionCache ec = newMock(ExpressionCache.class);
-
+ Location l = fabricateLocation(1);
+
IComponent component = newComponent();
Object compiled = new Object();
@@ -271,7 +279,7 @@
replay();
- ExpressionBinding b = new ExpressionBinding("param", fabricateLocation(1), vc, component,
+ ExpressionBinding b = new ExpressionBinding("param", l, vc, component,
"exp", ev, ec);
try
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java Wed Jun 28 20:00:15 2006
@@ -16,8 +16,7 @@
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
-import static org.testng.AssertJUnit.assertEquals;
-import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.*;
import org.apache.hivemind.Location;
import org.apache.tapestry.BindingException;
@@ -72,18 +71,16 @@
ValueConverter vc = newValueConverter();
trainGetExtendedId(component, "Fred/barney");
-
+
replay();
-
+
ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
String toString = b.toString();
String description = toString.substring(toString.indexOf('[') + 1, toString.length() - 1);
-
- assertEquals(
- "param, component=Fred/barney, methodName=foo, location=classpath:/org/apache/tapestry/binding/TestListenerMethodBinding, line 1",
- description);
-
+
+ assertTrue(description.indexOf("param, component=Fred/barney, methodName=foo, location=") > -1);
+
verify();
}
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestMessageBinding.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestMessageBinding.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestMessageBinding.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/binding/TestMessageBinding.java Wed Jun 28 20:00:15 2006
@@ -18,6 +18,7 @@
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertSame;
+import org.apache.hivemind.Location;
import org.apache.hivemind.Messages;
import org.apache.tapestry.IComponent;
import org.apache.tapestry.coerce.ValueConverter;
@@ -37,10 +38,11 @@
{
IComponent component = newMock(IComponent.class);
ValueConverter vc = newValueConverter();
-
+ Location l = fabricateLocation(12);
+
replay();
- MessageBinding b = new MessageBinding("param", vc, fabricateLocation(12), component, "key");
+ MessageBinding b = new MessageBinding("param", vc, l, component, "key");
assertSame(component, b.getComponent());
assertEquals("key", b.getKey());
@@ -52,12 +54,13 @@
{
IComponent component = newComponent();
ValueConverter vc = newValueConverter();
-
+ Location l = fabricateLocation(12);
+
expect(component.getExtendedId()).andReturn("Foo/bar.baz");
replay();
- MessageBinding b = new MessageBinding("param", vc, fabricateLocation(12), component, "key");
+ MessageBinding b = new MessageBinding("param", vc, l, component, "key");
assertEquals("StringBinding[Foo/bar.baz key]", b.toString());
@@ -68,7 +71,8 @@
{
Messages m = newMock(Messages.class);
IComponent component = newComponent();
-
+ Location l = fabricateLocation(12);
+
ValueConverter vc = newValueConverter();
expect(component.getMessages()).andReturn(m);
@@ -76,7 +80,7 @@
expect(m.getMessage("key")).andReturn("value");
replay();
- MessageBinding b = new MessageBinding("param", vc, fabricateLocation(12), component, "key");
+ MessageBinding b = new MessageBinding("param", vc, l, component, "key");
assertEquals("value", b.getObject());
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestBlock.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestBlock.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestBlock.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestBlock.java Wed Jun 28 20:00:15 2006
@@ -72,14 +72,15 @@
IBinding binding = newBinding(parameterValue);
IComponent component = newComponent();
-
+
expect(component.getBinding("fred")).andReturn(binding);
+
replay();
-
+
Block block = (Block) newInstance(Block.class);
-
+
block.setInvoker(component);
-
+
assertSame(parameterValue, block.getParameter("fred"));
verify();
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestConditional.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestConditional.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestConditional.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/components/TestConditional.java Wed Jun 28 20:00:15 2006
@@ -91,15 +91,15 @@
}
public void testElement()
- {
- IBinding informal = newBinding("informal-value");
- IComponentSpecification spec = newSpec("informal", null);
-
+ {
IMarkupWriter writer = newWriter();
- IRequestCycle cycle = newCycle(false, writer);
- IRender body = newRender(writer, cycle);
-
+ IRequestCycle cycle = newCycle(false, null);
+
writer.begin("div");
+
+ IComponentSpecification spec = newSpec("informal", null);
+ IBinding informal = newBinding("informal-value");
+
writer.attribute("informal", "informal-value");
// We've trained body, but there's no way to ensure,
@@ -107,9 +107,13 @@
// order. But sometimes you have to trust the code (
// and trust that future developers won't break something
// that obvious!).
-
+
+ trainResponseBuilder(cycle, writer);
+
+ IRender body = newRender(writer, cycle);
+
writer.end("div");
-
+
replay();
Conditional conditional = newInstance(Conditional.class, new Object[]
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/describe/ReportStatusHubTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/describe/ReportStatusHubTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/describe/ReportStatusHubTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/describe/ReportStatusHubTest.java Wed Jun 28 20:00:15 2006
@@ -30,7 +30,7 @@
@Test
public class ReportStatusHubTest extends BaseDescribeTestCase
{
- public RootDescriptionReceiverFactory newReceiverFactory(IMarkupWriter writer,
+ private RootDescriptionReceiverFactory newReceiverFactory(IMarkupWriter writer,
RootDescriptionReciever receiver)
{
RootDescriptionReceiverFactory factory = newReceiverFactory();
@@ -40,12 +40,12 @@
return factory;
}
- protected RootDescriptionReceiverFactory newReceiverFactory()
+ private RootDescriptionReceiverFactory newReceiverFactory()
{
return newMock(RootDescriptionReceiverFactory.class);
}
- public static class ListenerFixture implements ReportStatusListener
+ private static class ListenerFixture implements ReportStatusListener
{
public void reportStatus(ReportStatusEvent event)
@@ -99,7 +99,7 @@
}
- protected RootDescriptionReciever newRootReceiver()
+ private RootDescriptionReciever newRootReceiver()
{
return newMock(RootDescriptionReciever.class);
}
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/dojo/form/TestAutocompleter.java Wed Jun 28 20:00:15 2006
@@ -14,9 +14,7 @@
package org.apache.tapestry.dojo.form;
-import static org.easymock.EasyMock.eq;
-import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.isA;
+import static org.easymock.EasyMock.*;
import static org.testng.AssertJUnit.assertEquals;
import java.util.Map;
@@ -132,6 +130,9 @@
IRequestCycle cycle = newMock(IRequestCycle.class);
IForm form = newMock(IForm.class);
+ checkOrder(form, false);
+
+ expect(form.getName()).andReturn("testform").anyTimes();
IMarkupWriter writer = newBufferWriter();
@@ -155,6 +156,7 @@
trainGetForm(cycle, form);
trainWasPrerendered(form, writer, component, false);
+
trainGetDelegate(form, delegate);
delegate.setFormComponent(component);
@@ -164,8 +166,6 @@
trainIsRewinding(cycle, false);
delegate.setFormComponent(component);
-
- trainGetDelegate(form, delegate);
vfs.renderContributions(component, writer, cycle);
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/error/StaleSessionExceptionPresenterTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/error/StaleSessionExceptionPresenterTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/error/StaleSessionExceptionPresenterTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/error/StaleSessionExceptionPresenterTest.java Wed Jun 28 20:00:15 2006
@@ -33,10 +33,11 @@
{
IPage page = newPage();
IRequestCycle cycle = newCycle("StaleSession", page);
- ResponseRenderer renderer = newRenderer(cycle, null);
-
+
cycle.activate(page);
+ ResponseRenderer renderer = newRenderer(cycle, null);
+
replay();
StaleSessionExceptionPresenterImpl presenter = new StaleSessionExceptionPresenterImpl();
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestFormComponentContributorContext.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestFormComponentContributorContext.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestFormComponentContributorContext.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestFormComponentContributorContext.java Wed Jun 28 20:00:15 2006
@@ -14,6 +14,7 @@
package org.apache.tapestry.form;
+import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.expect;
import java.util.Locale;
@@ -41,7 +42,8 @@
private IForm newForm(String name)
{
IForm form = newMock(IForm.class);
-
+ checkOrder(form, false);
+
expect(form.getName()).andReturn(name);
return form;
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestImageSubmit.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestImageSubmit.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestImageSubmit.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestImageSubmit.java Wed Jun 28 20:00:15 2006
@@ -14,6 +14,7 @@
package org.apache.tapestry.form;
+import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.expect;
import static org.testng.AssertJUnit.assertEquals;
@@ -42,7 +43,8 @@
protected IAsset newAsset(IRequestCycle cycle, String imageURL)
{
IAsset asset = newMock(IAsset.class);
-
+ checkOrder(asset, false);
+
expect(asset.buildURL()).andReturn(imageURL);
return asset;
@@ -75,7 +77,7 @@
IRequestCycle cycle = newCycle();
IMarkupWriter writer = newWriter();
IAsset image = newAsset(cycle, "image-url");
-
+
Creator creator = new Creator();
ImageSubmit submit = (ImageSubmit) creator.newInstance(ImageSubmit.class, new Object[]
{ "image", image });
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestValidatableFieldSupportImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestValidatableFieldSupportImpl.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestValidatableFieldSupportImpl.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/TestValidatableFieldSupportImpl.java Wed Jun 28 20:00:15 2006
@@ -14,6 +14,7 @@
package org.apache.tapestry.form;
+import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.eq;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.expectLastCall;
@@ -54,8 +55,9 @@
private ThreadLocale newThreadLocale()
{
ThreadLocale tl = newMock(ThreadLocale.class);
-
- expect(tl.getLocale()).andReturn(Locale.ENGLISH);
+ checkOrder(tl, false);
+
+ expect(tl.getLocale()).andReturn(Locale.ENGLISH).anyTimes();
return tl;
}
@@ -64,7 +66,7 @@
* Lots of work to set up the request cycle here, since we have to train it about getting the
* ClassResolver and the PageRenderSupport.
*/
- protected IRequestCycle newCycle(IComponent component)
+ private IRequestCycle newCycle(IComponent component)
{
IRequestCycle cycle = newCycle();
@@ -143,15 +145,12 @@
ValueConverter converter = newMock(ValueConverter.class);
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
- support.setThreadLocale(newThreadLocale());
- support.setValueConverter(converter);
TranslatedField field = newMock(TranslatedField.class);
IForm form = newMock(IForm.class);
IMarkupWriter writer = newWriter();
- IRequestCycle cycle = newCycle(field);
Validator validator = newMock(Validator.class);
@@ -159,6 +158,9 @@
expect(form.isClientValidationEnabled()).andReturn(true);
+ support.setThreadLocale(newThreadLocale());
+ support.setValueConverter(converter);
+
expect(field.getForm()).andReturn(form);
expect(form.getName()).andReturn("myform");
@@ -166,7 +168,10 @@
expect(field.getValidators()).andReturn(validator);
expect(converter.coerceValue(validator, Iterator.class))
- .andReturn(Collections.singleton(validator).iterator());
+ .andReturn(Collections.singleton(validator).iterator());
+
+
+ IRequestCycle cycle = newCycle(field);
validator.renderContribution(eq(writer), eq(cycle),
isA(FormComponentContributorContext.class), eq(field));
@@ -221,8 +226,6 @@
ValueConverter converter = newMock(ValueConverter.class);
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
- support.setThreadLocale(newThreadLocale());
- support.setValueConverter(converter);
TranslatedField field = newMock(TranslatedField.class);
@@ -238,6 +241,9 @@
expect(converter.coerceValue(validator, Iterator.class))
.andReturn(Collections.singleton(validator).iterator());
+ support.setThreadLocale(newThreadLocale());
+ support.setValueConverter(converter);
+
ValidatorException expected = new ValidatorException("test");
try
@@ -264,8 +270,6 @@
ValueConverter converter = newMock(ValueConverter.class);
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
- support.setThreadLocale(newThreadLocale());
- support.setValueConverter(converter);
TranslatedField field = newMock(TranslatedField.class);
@@ -279,6 +283,9 @@
expect(converter.coerceValue(null, Iterator.class))
.andReturn(Collections.EMPTY_LIST.iterator());
+ support.setThreadLocale(newThreadLocale());
+ support.setValueConverter(converter);
+
try
{
replay();
@@ -298,13 +305,10 @@
ValueConverter converter = newMock(ValueConverter.class);
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
- support.setThreadLocale(newThreadLocale());
- support.setValueConverter(converter);
TranslatedField field = newMock(TranslatedField.class);
IMarkupWriter writer = newWriter();
- IRequestCycle cycle = newCycle();
Validator validator = newMock(Validator.class);
@@ -313,8 +317,13 @@
expect(converter.coerceValue(validator, Iterator.class))
.andReturn(Collections.singleton(validator).iterator());
+ support.setThreadLocale(newThreadLocale());
+ support.setValueConverter(converter);
+
expect(validator.getAcceptsNull()).andReturn(true);
+ IRequestCycle cycle = newCycle();
+
try
{
validator.validate(eq(field), isA(ValidationMessages.class), isNull());
@@ -336,8 +345,6 @@
ValueConverter converter = newMock(ValueConverter.class);
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
- support.setThreadLocale(newThreadLocale());
- support.setValueConverter(converter);
TranslatedField field = newMock(TranslatedField.class);
@@ -351,6 +358,9 @@
expect(converter.coerceValue(validator, Iterator.class))
.andReturn(Collections.singleton(validator).iterator());
+ support.setThreadLocale(newThreadLocale());
+ support.setValueConverter(converter);
+
expect(validator.getAcceptsNull()).andReturn(false);
try
@@ -388,7 +398,8 @@
private Validator newValidator(boolean isRequired)
{
Validator validator = newMock(Validator.class);
-
+ checkOrder(validator, false);
+
expect(validator.isRequired()).andReturn(isRequired);
return validator;
@@ -415,7 +426,7 @@
Collection validators = Collections.singletonList(newValidator(false));
ValidatableField field = newFieldGetValidators(validators);
ValueConverter converter = newValueConverter(validators);
-
+
replay();
ValidatableFieldSupportImpl support = new ValidatableFieldSupportImpl();
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/validator/TestValidatorFactory.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/validator/TestValidatorFactory.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/validator/TestValidatorFactory.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/form/validator/TestValidatorFactory.java Wed Jun 28 20:00:15 2006
@@ -14,6 +14,7 @@
package org.apache.tapestry.form.validator;
+import static org.easymock.EasyMock.checkOrder;
import static org.easymock.EasyMock.expect;
import static org.testng.AssertJUnit.assertEquals;
import static org.testng.AssertJUnit.assertSame;
@@ -283,7 +284,8 @@
private IBeanProvider newBeanProvider(String beanName, Object bean)
{
IBeanProvider provider = newMock(IBeanProvider.class);
-
+ checkOrder(provider, false);
+
expect(provider.getBean(beanName)).andReturn(bean);
return provider;
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/FrameTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/FrameTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/FrameTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/FrameTest.java Wed Jun 28 20:00:15 2006
@@ -42,9 +42,11 @@
IRequestCycle cycle = newCycle();
trainGetLink(pageService, cycle, false, "FramePage", link);
- trainGetURL(link, "<LinkURL>");
writer.beginEmpty("frame");
+
+ trainGetURL(link, "<LinkURL>");
+
writer.attribute("src", "<LinkURL>");
writer.closeTag();
@@ -61,18 +63,22 @@
public void testRenderWithInformal()
{
- IBinding binding = newBinding("informal");
IEngineService pageService = newEngineService();
ILink link = newLink();
IMarkupWriter writer = newWriter();
IRequestCycle cycle = newCycle();
-
+
trainGetLink(pageService, cycle, false, "FramePage", link);
- trainGetURL(link, "<LinkURL>");
-
+
writer.beginEmpty("frame");
+
+ trainGetURL(link, "<LinkURL>");
+
writer.attribute("src", "<LinkURL>");
+
+ IBinding binding = newBinding("informal");
+
writer.attribute("class", "informal");
writer.closeTag();
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/ScriptTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/ScriptTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/ScriptTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/html/ScriptTest.java Wed Jun 28 20:00:15 2006
@@ -73,12 +73,17 @@
IScriptSource source = newScriptSource();
IScript script = newScript();
- PageRenderSupport support = newPageRenderSupport();
- IRequestCycle cycle = newCycle(false, false);
IMarkupWriter writer = newWriter();
+
+ PageRenderSupport support = newPageRenderSupport();
+
+ IRequestCycle cycle = newCycle(false, null);
+
+ trainGetPageRenderSupport(cycle, support);
+
Resource scriptLocation = newResource();
IRender body = newRender();
-
+
IComponent container = newComponent();
String scriptPath = "MyScript.script";
@@ -86,8 +91,6 @@
Script component = newInstance(Script.class, new Object[]
{ "specification", new ComponentSpecification(), "container", container, "scriptSource",
source, "scriptPath", scriptPath });
-
- trainGetPageRenderSupport(cycle, support);
trainGetScriptLocation(container, scriptPath, scriptLocation);
@@ -95,9 +98,11 @@
script.execute(cycle, support, new HashMap());
+ trainResponseBuilder(cycle, writer);
+
body.render(writer, cycle);
- trainResponseBuilder(cycle, writer);
+ //trainResponseBuilder(cycle, writer);
replay();
@@ -115,7 +120,10 @@
PageRenderSupport support = newPageRenderSupport();
IMarkupWriter writer = newWriter();
- IRequestCycle cycle = newCycle(false, false);
+ IRequestCycle cycle = newCycle(false, null);
+
+ trainGetPageRenderSupport(cycle, support);
+
Resource scriptLocation = newResource();
IRender body = newRender();
@@ -130,16 +138,14 @@
{ "specification", new ComponentSpecification(), "container", container, "scriptSource",
source, "scriptPath", scriptPath, "baseSymbols", baseSymbols });
- trainGetPageRenderSupport(cycle, support);
-
trainGetScriptLocation(container, scriptPath, scriptLocation);
trainGetScript(source, scriptLocation, script);
- body.render(writer, cycle);
-
trainResponseBuilder(cycle, writer);
+ body.render(writer, cycle);
+
replay();
component.addBody(body);
@@ -159,7 +165,10 @@
MockScript script = new MockScript();
PageRenderSupport support = newPageRenderSupport();
- IRequestCycle cycle = newCycle(false, false);
+ IRequestCycle cycle = newCycle(false, null);
+
+ trainGetPageRenderSupport(cycle, support);
+
IMarkupWriter writer = newWriter();
Resource scriptLocation = newResource();
IRender body = newRender();
@@ -179,16 +188,14 @@
source, "scriptPath", scriptPath, "baseSymbols", baseSymbols });
component.setBinding("fred", informal);
- trainGetPageRenderSupport(cycle, support);
-
trainGetScriptLocation(container, scriptPath, scriptLocation);
trainGetScript(source, scriptLocation, script);
- body.render(writer, cycle);
-
trainResponseBuilder(cycle, writer);
+ body.render(writer, cycle);
+
replay();
component.addBody(body);
@@ -207,12 +214,12 @@
public void testRewinding()
{
IMarkupWriter writer = newWriter();
- IRequestCycle cycle = newCycle(true, false);
+ IRequestCycle cycle = newCycle(true, writer);
IRender body = newRender();
body.render(writer, cycle);
- trainResponseBuilder(cycle, writer);
+ //trainResponseBuilder(cycle, writer);
replay();
@@ -265,7 +272,11 @@
IScript script = newScript();
PageRenderSupport support = newPageRenderSupport();
- IRequestCycle cycle = newCycle(false, false);
+
+ IRequestCycle cycle = newCycle(false, null);
+
+ trainGetPageRenderSupport(cycle, support);
+
IMarkupWriter writer = newWriter();
Resource scriptLocation = newResource();
IRender body = newRender();
@@ -280,15 +291,13 @@
{ "specification", new ComponentSpecification(), "container", container, "scriptSource",
source, "scriptAsset", scriptAsset });
- trainGetPageRenderSupport(cycle, support);
-
trainGetScript(source, scriptLocation, script);
script.execute(cycle, support, new HashMap());
- body.render(writer, cycle);
-
trainResponseBuilder(cycle, writer);
+
+ body.render(writer, cycle);
replay();
Copied: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMockApplications.java (from r417829, tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/MockTester.java)
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMockApplications.java?p2=tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMockApplications.java&p1=tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/MockTester.java&r1=417829&r2=417925&rev=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/MockTester.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/TestMockApplications.java Wed Jun 28 20:00:15 2006
@@ -14,11 +14,15 @@
package org.apache.tapestry.junit.mock;
+import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.io.PrintStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -35,6 +39,7 @@
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.hivemind.HiveMind;
import org.apache.hivemind.Resource;
+import org.apache.hivemind.util.PropertyUtils;
import org.apache.oro.text.regex.MalformedPatternException;
import org.apache.oro.text.regex.MatchResult;
import org.apache.oro.text.regex.Pattern;
@@ -52,8 +57,10 @@
import org.apache.tapestry.util.xml.DocumentParseException;
import org.jdom.Document;
import org.jdom.Element;
-import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
+import org.testng.annotations.Configuration;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
/**
* A complex class that reads an XML description of a test involving the Mock objects and executes
@@ -67,12 +74,22 @@
* @since 2.2
*/
-public class MockTester
+public class TestMockApplications
{
+ public static final String LOGS_DIR = "target/logs";
+
+ public static final String DEFAULT_BASE_DIR = "./";
+
+ public static final String SCRIPTS_DIR = "src/scripts";
+
+ private static String _baseDir;
+
private String _testRootDirectory;
private String _path;
+ private String _fileName;
+
private Document _document;
private MockContext _context;
@@ -84,10 +101,10 @@
private MockRequest _request;
private MockResponse _response;
-
+
private int _requestNumber = 0;
- private Map _ognlContext;
+ private Map _ognlContext = Ognl.createDefaultContext(this);
private Throwable _exception;
@@ -97,43 +114,85 @@
private static Map _patternCache = new HashMap();
- private PatternMatcher _matcher;
+ private PatternMatcher _matcher = new Perl5Matcher();
- private PatternCompiler _compiler;
+ private PatternCompiler _compiler = new Perl5Compiler();
+ private PrintStream _savedOut;
+
+ private PrintStream _savedErr;
+
+ private SAXBuilder _builder = new SAXBuilder();
+
/**
- * Constructs a new MockTester for the given resource path (which is the XML file to read).
+ * Closes System.out and System.err, then restores them to their original values.
*/
-
- public MockTester(String testRootDirectory, String path) throws JDOMException,
- ServletException, DocumentParseException, IOException
+ @Configuration(afterTestMethod = true)
+ protected void tearDown() throws Exception
{
- _testRootDirectory = testRootDirectory;
- _path = path;
-
- parse();
-
- setup();
+ System.err.close();
+ System.setErr(_savedErr);
+
+ System.out.close();
+ System.setOut(_savedOut);
+
+ _requestNumber = 0;
}
-
+
+ @DataProvider(name = "mockTestScripts")
+ public Object[][] createTestParameters()
+ {
+ List data = new ArrayList();
+
+ File scriptsDir = new File(getBaseDirectory() + SCRIPTS_DIR);
+
+ String[] names = scriptsDir.list();
+
+ for (int i = 0; i < names.length; i++)
+ {
+ String name = names[i];
+
+ if (name.endsWith(".xml"))
+ {
+ data.add(new Object[] {
+ getBaseDirectory() + "/src/test-data/",
+ getBaseDirectory() + SCRIPTS_DIR + "/" + name,
+ name
+ });
+ }
+ }
+
+ return (Object[][])data.toArray(new Object[data.size()][3]);
+ }
+
public String toString()
{
StringBuffer buffer = new StringBuffer("MockTester[");
-
+
if (_document != null)
buffer.append(_document);
-
+
buffer.append(']');
return buffer.toString();
}
-
+
/**
* Invoked to execute the request cycle.
*/
-
- public void execute() throws IOException, DocumentParseException
+ @Test(dataProvider = "mockTestScripts")
+ public void execute(String testRootDirectory, String path, String fileName)
+ throws Exception
{
+ _testRootDirectory = testRootDirectory;
+ _path = path;
+ _fileName = fileName;
+
+ // setup and get environment ready
+ createLogs();
+ parse();
+ setup();
+
Element root = _document.getRootElement();
List l = root.getChildren("request");
@@ -149,6 +208,8 @@
}
_servlet.destroy();
+
+ PropertyUtils.clearCache();
}
private void executeRequest(Element request) throws IOException, DocumentParseException
@@ -198,20 +259,19 @@
executeAssertions(request);
}
- private void parse() throws JDOMException, DocumentParseException, IOException
+ private void parse()
+ throws Exception
{
- SAXBuilder builder = new SAXBuilder();
-
- _document = builder.build(_path);
+ _document = _builder.build(_path);
}
-
+
private void setup() throws ServletException
{
Element root = _document.getRootElement();
-
+
if (!root.getName().equals("mock-test"))
throw new RuntimeException("Root element of " + _path + " must be 'mock-test'.");
-
+
setupContext(root);
setupServlet(root);
}
@@ -221,12 +281,12 @@
_context = new MockContext(_testRootDirectory);
Element context = parent.getChild("context");
-
+
if (context == null)
return;
-
+
String name = context.getAttributeValue("name");
-
+
if (name != null)
_context.setServletContextName(name);
@@ -422,8 +482,8 @@
private boolean evaluate(String expression) throws DocumentParseException
{
- if (_ognlContext == null)
- _ognlContext = Ognl.createDefaultContext(this);
+ // if (_ognlContext == null)
+ // _ognlContext = Ognl.createDefaultContext(this);
Object value = null;
@@ -460,7 +520,8 @@
* Attribute name is used in error messages.
*/
- private void executeRegexpAssertions(Element request) throws DocumentParseException
+ private void executeRegexpAssertions(Element request)
+ throws DocumentParseException
{
String outputString = null;
@@ -492,7 +553,8 @@
* Attribute name is used in error messages.
*/
- private void executeOutputAssertions(Element request) throws DocumentParseException
+ private void executeOutputAssertions(Element request)
+ throws DocumentParseException
{
String outputString = null;
@@ -524,7 +586,8 @@
* Attribute name is used in error messages.
*/
- private void executeNoOutputAssertions(Element request) throws DocumentParseException
+ private void executeNoOutputAssertions(Element request)
+ throws DocumentParseException
{
String outputString = null;
@@ -551,21 +614,22 @@
private PatternMatcher getMatcher()
{
- if (_matcher == null)
- _matcher = new Perl5Matcher();
+ //if (_matcher == null)
+ // _matcher = new Perl5Matcher();
return _matcher;
}
- private Pattern compile(String pattern) throws DocumentParseException
+ private Pattern compile(String pattern)
+ throws DocumentParseException
{
Pattern result = (Pattern) _patternCache.get(pattern);
if (result != null)
return result;
- if (_compiler == null)
- _compiler = new Perl5Compiler();
+ // if (_compiler == null)
+ // _compiler = new Perl5Compiler();
try
{
@@ -587,12 +651,12 @@
throws DocumentParseException
{
Pattern compiled = compile(pattern);
-
+
if (getMatcher().contains(text, compiled))
return;
-
+
System.err.println(text);
-
+
throw new AssertionFailedError(buildTestName(name)
+ ": Response does not contain regular expression '" + pattern + "'.");
}
@@ -803,7 +867,7 @@
+ actualContentType + "', expected '" + contentType + "'.");
byte[] actualContent = _response.getResponseBytes();
- byte[] expectedContent = getFileContent(TestMocks.getBaseDirectory() + "/" + path);
+ byte[] expectedContent = getFileContent(getBaseDirectory() + "/" + path);
if (actualContent.length != expectedContent.length)
throw new AssertionFailedError(buildTestName(name) + " actual length of "
@@ -851,5 +915,77 @@
throw new ApplicationRuntimeException("Unable to read file '" + path + "'.", ex);
}
}
+
+ private void createLogs()
+ throws Exception
+ {
+ File outDir = new File(getBaseDirectory() + LOGS_DIR);
+
+ if (!outDir.isDirectory())
+ outDir.mkdirs();
+
+ _savedOut = System.out;
+ _savedErr = System.err;
+
+ System.setOut(createPrintStream(outDir.getPath() + "/" + _fileName, "out"));
+ System.setErr(createPrintStream(outDir.getPath() + "/" + _fileName, "err"));
+ }
+
+ private PrintStream createPrintStream(String path, String extension) throws Exception
+ {
+ File file = new File(path + "." + extension);
+
+ // Open and truncate file.
+
+ FileOutputStream fos = new FileOutputStream(file);
+
+ BufferedOutputStream bos = new BufferedOutputStream(fos);
+
+ return new PrintStream(bos, true);
+ }
+
+ @Configuration(afterSuite = true)
+ public static void deleteDir()
+ {
+ File file = new File(getBaseDirectory() + "/target/.private");
+
+ if (!file.exists())
+ return;
+
+ deleteRecursive(file);
+ }
+
+ private static void deleteRecursive(File file)
+ {
+ if (file.isFile())
+ {
+ file.delete();
+ return;
+ }
+
+ String[] names = file.list();
+
+ for (int i = 0; i < names.length; i++)
+ {
+ File f = new File(file, names[i]);
+ deleteRecursive(f);
+ }
+ file.delete();
+ }
+
+ public static String getBaseDirectory()
+ {
+ if (_baseDir == null) {
+ _baseDir = System.getProperty("BASEDIR", DEFAULT_BASE_DIR);
+ File test = new File(_baseDir + SCRIPTS_DIR);
+ if (!test.exists()) {
+ test = new File(_baseDir + "framework/" + SCRIPTS_DIR);
+ if (test.exists())
+ _baseDir = _baseDir + "framework/";
+ }
+ }
+
+ return _baseDir;
+ }
}
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/c19/Two.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/c19/Two.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/c19/Two.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/junit/mock/c19/Two.java Wed Jun 28 20:00:15 2006
@@ -22,7 +22,7 @@
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.tapestry.Tapestry;
import org.apache.tapestry.html.BasePage;
-import org.apache.tapestry.junit.mock.TestMocks;
+import org.apache.tapestry.junit.mock.TestMockApplications;
import org.apache.tapestry.request.IUploadFile;
/**
@@ -46,7 +46,7 @@
InputStream expected = null;
InputStream actual = null;
- String baseDir = TestMocks.getBaseDirectory() + "/src/test-data/";
+ String baseDir = TestMockApplications.getBaseDirectory() + "/src/test-data/";
try
{
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/ClientPropertyPersistenceStrategyTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/ClientPropertyPersistenceStrategyTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/ClientPropertyPersistenceStrategyTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/ClientPropertyPersistenceStrategyTest.java Wed Jun 28 20:00:15 2006
@@ -15,14 +15,15 @@
package org.apache.tapestry.record;
import static org.easymock.EasyMock.expect;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
+import static org.testng.AssertJUnit.assertEquals;
+import static org.testng.AssertJUnit.assertSame;
+import static org.testng.AssertJUnit.assertTrue;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import org.apache.hivemind.test.HiveMindTestCase;
+import org.apache.tapestry.BaseComponentTestCase;
import org.apache.tapestry.IPage;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.engine.ServiceEncoding;
@@ -36,13 +37,8 @@
* @since 4.0
*/
@Test
-public class ClientPropertyPersistenceStrategyTest extends HiveMindTestCase
+public class ClientPropertyPersistenceStrategyTest extends BaseComponentTestCase
{
- private IRequestCycle newCycle()
- {
- return (IRequestCycle) newMock(IRequestCycle.class);
- }
-
private PersistentPropertyDataEncoder newEncoder()
{
PersistentPropertyDataEncoderImpl encoder = new PersistentPropertyDataEncoderImpl();
@@ -51,26 +47,16 @@
return encoder;
}
- private IPage newPage()
- {
- return (IPage) newMock(IPage.class);
- }
-
- private WebRequest newRequest()
- {
- return (WebRequest) newMock(WebRequest.class);
- }
-
private ClientPropertyPersistenceScope newScope()
{
- return (ClientPropertyPersistenceScope) newMock(ClientPropertyPersistenceScope.class);
+ return newMock(ClientPropertyPersistenceScope.class);
}
public void testAddParametersForPersistentProperties()
{
WebRequest request = newRequest();
- ServiceEncoding encoding = (ServiceEncoding) newMock(ServiceEncoding.class);
+ ServiceEncoding encoding = newMock(ServiceEncoding.class);
trainGetParameterNames(request, new String[]
{ "bar", "appstate:MyPage" });
@@ -104,7 +90,7 @@
{
WebRequest request = newRequest();
ClientPropertyPersistenceScope scope = newScope();
- PersistentPropertyDataEncoder encoder = (PersistentPropertyDataEncoder) newMock(PersistentPropertyDataEncoder.class);
+ PersistentPropertyDataEncoder encoder = newMock(PersistentPropertyDataEncoder.class);
trainGetParameterNames(request, new String[]
{ "foo", "state:MyPage" });
@@ -140,23 +126,21 @@
IRequestCycle cycle = newCycle();
IPage page = newPage();
- ServiceEncoding encoding = (ServiceEncoding) newMock(ServiceEncoding.class);
-
+ ServiceEncoding encoding = newMock(ServiceEncoding.class);
+
+ trainGetParameterNames(request, new String[] { "foo", "state:MyPage", "state:OtherPage" });
+
+ trainGetParameterValue(request, "state:MyPage", "ENCODED1");
+ trainGetParameterValue(request, "state:OtherPage", "ENCODED2");
+
trainGetPage(cycle, page);
-
trainGetPageName(page, "MyPage");
+
+ encoding.setParameterValue("state:MyPage", "ENCODED1");
trainGetPage(cycle, page);
trainGetPageName(page, "MyPage");
- trainGetParameterNames(request, new String[]
- { "foo", "state:MyPage", "state:OtherPage" });
-
- trainGetParameterValue(request, "state:MyPage", "ENCODED1");
- trainGetParameterValue(request, "state:OtherPage", "ENCODED2");
-
- encoding.setParameterValue("state:MyPage", "ENCODED1");
-
replay();
PageClientPropertyPersistenceScope scope = new PageClientPropertyPersistenceScope();
@@ -206,11 +190,6 @@
private void trainGetPage(IRequestCycle cycle, IPage page)
{
expect(cycle.getPage()).andReturn(page);
- }
-
- private void trainGetPageName(IPage page, String pageName)
- {
- expect(page.getPageName()).andReturn(pageName);
}
private void trainGetParameterNames(WebRequest request, String[] names)
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/PersistentPropertyDataEncoderTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/PersistentPropertyDataEncoderTest.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/PersistentPropertyDataEncoderTest.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/record/PersistentPropertyDataEncoderTest.java Wed Jun 28 20:00:15 2006
@@ -14,6 +14,9 @@
package org.apache.tapestry.record;
+
+import static org.testng.AssertJUnit.assertEquals;
+
import java.io.File;
import java.net.URL;
import java.net.URLClassLoader;
@@ -25,7 +28,7 @@
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.hivemind.ClassResolver;
import org.apache.hivemind.impl.DefaultClassResolver;
-import org.apache.hivemind.test.HiveMindTestCase;
+import org.apache.tapestry.BaseComponentTestCase;
import org.testng.annotations.Test;
/**
@@ -35,7 +38,7 @@
* @since 4.0
*/
@Test
-public class PersistentPropertyDataEncoderTest extends HiveMindTestCase
+public class PersistentPropertyDataEncoderTest extends BaseComponentTestCase
{
/**
* Test pushing minimal amounts of data, which should favor the non-GZipped version of the
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/services/impl/TestBaseTagWriter.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/services/impl/TestBaseTagWriter.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/services/impl/TestBaseTagWriter.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/services/impl/TestBaseTagWriter.java Wed Jun 28 20:00:15 2006
@@ -14,7 +14,7 @@
package org.apache.tapestry.services.impl;
-import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.*;
import org.apache.tapestry.BaseComponentTestCase;
import org.apache.tapestry.IMarkupWriter;
@@ -47,7 +47,8 @@
private INamespace newNamespace(String id)
{
INamespace ns = newMock(INamespace.class);
-
+ checkOrder(ns, false);
+
expect(ns.getId()).andReturn(id);
return ns;
@@ -86,7 +87,7 @@
verify();
}
-
+
public void testNotApplicationNamespace()
{
INamespace ns = newNamespace("library");
@@ -99,7 +100,8 @@
public void testInRoot()
{
- IPage page = newPage("Home");
+ INamespace ns = newNamespace("library");
+ IPage page = newPage(ns, null);
IRequestCycle cycle = newRequestCycle(page, "/");
IMarkupWriter writer = newWriter("http://foo.com/context/");
@@ -108,10 +110,11 @@
public void testInSubFolder()
{
- IPage page = newPage("admin/AdminMenu");
+ INamespace ns = newNamespace(null);
+ IPage page = newPage(ns, "admin/AdminMenu");
IRequestCycle cycle = newRequestCycle(page, "/admin/");
IMarkupWriter writer = newWriter("http://foo.com/context/admin/");
-
+
run(writer, cycle);
}
}
Modified: tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/test/mock/MockResponse.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/test/mock/MockResponse.java?rev=417925&r1=417924&r2=417925&view=diff
==============================================================================
--- tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/test/mock/MockResponse.java (original)
+++ tapestry/tapestry4/trunk/framework/src/test/org/apache/tapestry/test/mock/MockResponse.java Wed Jun 28 20:00:15 2006
@@ -268,7 +268,7 @@
}
/**
- * Invoked by {@link org.apache.tapestry.junit.mock.MockTester}after the test is complete, to
+ * Invoked by {@link org.apache.tapestry.junit.mock.TestMockApplications}after the test is complete, to
* close and otherwise finish up.
*/