[jboss-cvs] jboss-seam/src/test/misc/org/jboss/seam/test ...

Peter Muir peter at bleepbleep.org.uk
Mon Aug 13 14:03:11 EDT 2007


  User: pmuir   
  Date: 07/08/13 14:03:11

  Modified:    src/test/misc/org/jboss/seam/test   testng.xml
  Added:       src/test/misc/org/jboss/seam/test  
                        SeamMockELResolverTest.java
  Log:
  JBSEAM-1785 and associated test
  
  Revision  Changes    Path
  1.11      +1 -0      jboss-seam/src/test/misc/org/jboss/seam/test/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/misc/org/jboss/seam/test/testng.xml,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -b -r1.10 -r1.11
  --- testng.xml	13 Jul 2007 16:08:46 -0000	1.10
  +++ testng.xml	13 Aug 2007 18:03:11 -0000	1.11
  @@ -22,6 +22,7 @@
          <class name="org.jboss.seam.test.TimeZoneTest"/>
          <class name="org.jboss.seam.test.LocaleTest"/>
          <class name="org.jboss.seam.test.PageflowTest"/>
  +       <class name="org.jboss.seam.test.SeamMockELResolverTest" />
        </classes>
      </test>
   </suite>
  
  
  
  1.1      date: 2007/08/13 18:03:11;  author: pmuir;  state: Exp;jboss-seam/src/test/misc/org/jboss/seam/test/SeamMockELResolverTest.java
  
  Index: SeamMockELResolverTest.java
  ===================================================================
  package org.jboss.seam.test;
  
  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 void startJbossEmbeddedIfNecessary()
              throws org.jboss.deployers.spi.DeploymentException, java.io.IOException
     {
     }
  
     @Override
     protected ELResolver[] getELResolvers()
     {
        ELResolver[] resolvers = new ELResolver[1];
        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();
              }
           }
  
        };
        return resolvers;
     }
  
     @Test
     public void testCustomELResolver() throws Exception
     {
        new FacesRequest()
        {
           @Override
           protected void invokeApplication() throws Exception
           {
              assert "found".equals(getValue("#{" + property + "}"));
           }
        }.run();
     }
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list