You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by le...@apache.org on 2007/06/20 05:44:21 UTC

svn commit: r548915 - in /harmony/enhanced/classlib/trunk/modules/beans: make/exclude.common src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java

Author: leoli
Date: Tue Jun 19 20:44:19 2007
New Revision: 548915

URL: http://svn.apache.org/viewvc?view=rev&rev=548915
Log:
1. Add testcase for java.beans.beancontext.BeanContextChildSupport, which ensures that addVetoableChangeListener and removeVetoableChangeListener will reevaluate whether setBeanContext is allowed.
2.org.apache.harmony.beans.tests.java.beans.beancontext.BeanContextChildSupport is removed from the exclude tests list.

Modified:
    harmony/enhanced/classlib/trunk/modules/beans/make/exclude.common
    harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java

Modified: harmony/enhanced/classlib/trunk/modules/beans/make/exclude.common
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/make/exclude.common?view=diff&rev=548915&r1=548914&r2=548915
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/make/exclude.common (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/make/exclude.common Tue Jun 19 20:44:19 2007
@@ -3,7 +3,6 @@
 org/apache/harmony/beans/tests/java/beans/VetoableChangeSupportTest.java
 org/apache/harmony/beans/tests/java/beans/XMLDecoderTest.java
 org/apache/harmony/beans/tests/java/beans/XMLEncoderTest.java
-org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java
 org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextMembershipEventTest.java
 org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServiceAvailableEventTest.java
 org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextServiceRevokedEventTest.java

Modified: harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java?view=diff&rev=548915&r1=548914&r2=548915
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextChildSupportTest.java Tue Jun 19 20:44:19 2007
@@ -17,6 +17,7 @@
 
 package org.apache.harmony.beans.tests.java.beans.beancontext;
 
+import java.beans.PropertyChangeEvent;
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
 import java.beans.PropertyVetoException;
@@ -482,8 +483,7 @@
 
         BeanContextChildSupport sup = new BeanContextChildSupport();
 
-        assertFalse("Child is not supposed to be delegated",
-                sup.isDelegated());
+        assertFalse("Child is not supposed to be delegated", sup.isDelegated());
     }
 
     public void testReleaseBeanContextResources() throws PropertyVetoException {
@@ -945,6 +945,55 @@
 
         assertNotNull("BeanContext should not be null", sup.getBeanContext());
     }
+    
+    public void testSetBeanContextBeanContextWithPropertyVetoException()
+            throws Exception {
+        MyBeanContextChildSupport myBeanContextChildSupport = new MyBeanContextChildSupport();
+        VetoableChangeListener vcl = new MyVetoableChangeListener();
+        myBeanContextChildSupport.addVetoableChangeListener("beanContext", vcl);
+        BeanContext beanContext = new BeanContextSupport();
+        try {
+            myBeanContextChildSupport.setBeanContext(beanContext);
+            fail("should throw PropertyVetoException");
+        } catch (PropertyVetoException e) {           
+            // expected
+        }
+        assertTrue(myBeanContextChildSupport.getRejectedSetBCOnce());
+        assertNull(myBeanContextChildSupport.getBeanContext());
+        
+        myBeanContextChildSupport.setBeanContext(beanContext);
+        assertFalse(myBeanContextChildSupport.getRejectedSetBCOnce());
+        assertNotNull(myBeanContextChildSupport.getBeanContext());
+        
+        try {
+            myBeanContextChildSupport.setBeanContext(new BeanContextSupport());
+            fail("should throw PropertyVetoException");
+        } catch (PropertyVetoException e) {
+            // expected
+        }
+        
+        myBeanContextChildSupport
+                .removeVetoableChangeListener("beanContext", vcl);
+        myBeanContextChildSupport.setBeanContext(beanContext);
+        assertTrue(myBeanContextChildSupport.getRejectedSetBCOnce());
+        assertSame(beanContext, myBeanContextChildSupport.getBeanContext());
+    }
+    
+    
+    class MyVetoableChangeListener implements VetoableChangeListener 
+    { 
+
+        public void vetoableChange(PropertyChangeEvent arg0) throws PropertyVetoException { 
+            throw new PropertyVetoException("TESTSTRING", null); 
+        } 
+    }
+    
+    class MyBeanContextChildSupport extends BeanContextChildSupport {
+        public boolean getRejectedSetBCOnce() {
+            return rejectedSetBCOnce;
+        }
+    }
+
 
     /** UTILITY METHODS * */