[jboss-cvs] jboss-seam/src/test/integration/src/org/jboss/seam/test/integration ...
Peter Muir
peter at bleepbleep.org.uk
Tue Nov 20 08:42:59 EST 2007
User: pmuir
Date: 07/11/20 08:42:59
Modified: src/test/integration/src/org/jboss/seam/test/integration
testng.xml
Added: src/test/integration/src/org/jboss/seam/test/integration
SeamMockELResolverTest.java
Log:
JBSEAM-2174
Revision Changes Path
1.10 +6 -0 jboss-seam/src/test/integration/src/org/jboss/seam/test/integration/testng.xml
(In the diff below, changes in quantity of whitespace are not shown.)
Index: testng.xml
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/test/integration/src/org/jboss/seam/test/integration/testng.xml,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- testng.xml 20 Nov 2007 12:38:54 -0000 1.9
+++ testng.xml 20 Nov 2007 13:42:59 -0000 1.10
@@ -57,4 +57,10 @@
<class name="org.jboss.seam.test.integration.MessagingTest" />
</classes>
</test>
+
+ <test name="Seam Core - Integration: Mocks">
+ <classes>
+ <class name="org.jboss.seam.test.integration.SeamMockELResolverTest" />
+ </classes>
+ </test>
</suite>
1.1 date: 2007/11/20 13:42:59; author: pmuir; state: Exp;jboss-seam/src/test/integration/src/org/jboss/seam/test/integration/SeamMockELResolverTest.java
Index: SeamMockELResolverTest.java
===================================================================
package org.jboss.seam.test.integration;
import java.beans.FeatureDescriptor;
import java.util.Iterator;
import javax.el.ELContext;
import javax.el.ELException;
import javax.el.ELResolver;
import javax.el.PropertyNotFoundException;
import javax.el.PropertyNotWritableException;
import org.jboss.seam.mock.SeamTest;
import org.testng.annotations.Test;
/**
* Test for adding EL resolvers to Seam MockFacesContext
*
* @author Pete Muir
*
*/
public class SeamMockELResolverTest extends SeamTest
{
private static final String property = "customELResolverTest";
@Override
protected ELResolver[] getELResolvers()
{
ELResolver[] resolvers = new ELResolver[2];
resolvers[0] = new ELResolver()
{
@Override
public Class<?> getCommonPropertyType(ELContext arg0, Object arg1)
{
return null;
}
@Override
public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext arg0, Object arg1)
{
return null;
}
@Override
public Class<?> getType(ELContext arg0, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
return null;
}
@Override
public Object getValue(ELContext context, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
if (SeamMockELResolverTest.property.equals(property))
{
context.setPropertyResolved(true);
return "found";
}
return null;
}
@Override
public boolean isReadOnly(ELContext arg0, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
if (SeamMockELResolverTest.property.equals(property))
{
return false;
}
return false;
}
@Override
public void setValue(ELContext context, Object base, Object property, Object value)
throws NullPointerException, PropertyNotFoundException,
PropertyNotWritableException, ELException
{
if (SeamMockELResolverTest.property.equals(property))
{
throw new PropertyNotWritableException();
}
}
};
resolvers[1] = new ELResolver() {
@Override
public Class<?> getCommonPropertyType(ELContext arg0, Object arg1)
{
return null;
}
@Override
public Iterator<FeatureDescriptor> getFeatureDescriptors(ELContext arg0, Object arg1)
{
return null;
}
@Override
public Class<?> getType(ELContext arg0, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
return null;
}
@Override
public Object getValue(ELContext context, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
if (base != null && "className".equals(property))
{
context.setPropertyResolved(true);
return base.getClass().getSimpleName();
}
return null;
}
@Override
public boolean isReadOnly(ELContext arg0, Object base, Object property)
throws NullPointerException, PropertyNotFoundException, ELException
{
return true;
}
@Override
public void setValue(ELContext context, Object base, Object property, Object value)
throws NullPointerException, PropertyNotFoundException,
PropertyNotWritableException, ELException
{
throw new PropertyNotWritableException();
}
};
return resolvers;
}
@Test
public void testCustomELResolver() throws Exception
{
new FacesRequest()
{
@Override
protected void invokeApplication() throws Exception
{
assert "found".equals(getValue("#{" + property + "}"));
assert "String".equals(getValue("#{" + property + ".className}"));
}
}.run();
}
}
More information about the jboss-cvs-commits
mailing list