You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2007/07/20 04:44:53 UTC
svn commit: r557847 - in
/harmony/enhanced/classlib/trunk/modules/beans/src/test:
java/org/apache/harmony/beans/tests/java/beans/
support/java/org/apache/harmony/beans/tests/support/mock/
Author: tonywu
Date: Thu Jul 19 19:44:52 2007
New Revision: 557847
URL: http://svn.apache.org/viewvc?view=rev&rev=557847
Log:
enrich tests for Introspector
Added:
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java (with props)
harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java (with props)
Modified:
harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
Modified: harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java?view=diff&rev=557847&r1=557846&r2=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/IntrospectorTest.java Thu Jul 19 19:44:52 2007
@@ -54,6 +54,8 @@
import org.apache.harmony.beans.tests.support.mock.FakeFox01BeanInfo;
import org.apache.harmony.beans.tests.support.mock.FakeFox02;
import org.apache.harmony.beans.tests.support.mock.FakeFox031;
+import org.apache.harmony.beans.tests.support.mock.FakeFox041;
+import org.apache.harmony.beans.tests.support.mock.FakeFox0411;
import org.apache.harmony.beans.tests.support.mock.MockButton;
import org.apache.harmony.beans.tests.support.mock.MockFoo;
import org.apache.harmony.beans.tests.support.mock.MockFooButton;
@@ -62,6 +64,7 @@
import org.apache.harmony.beans.tests.support.mock.MockFooSub;
import org.apache.harmony.beans.tests.support.mock.MockFooSubSub;
import org.apache.harmony.beans.tests.support.mock.MockJavaBean;
+import org.apache.harmony.beans.tests.support.mock.MockNullSubClass;
import org.apache.harmony.beans.tests.support.mock.MockSubClass;
/**
@@ -1317,6 +1320,17 @@
}
assertTrue(eventFound);
}
+
+ public void testGetBeanInfoExplicitNull() throws Exception {
+ Introspector.flushCaches();
+ BeanInfo subinfo = Introspector.getBeanInfo(MockNullSubClass.class);
+ assertNotNull(subinfo.getPropertyDescriptors());
+ assertNotNull(subinfo.getEventSetDescriptors());
+ assertNotNull(subinfo.getMethodDescriptors());
+ assertEquals(-1, subinfo.getDefaultEventIndex());
+ assertEquals(-1, subinfo.getDefaultPropertyIndex());
+ }
+
static class FakeFoxInfo {
public int getProp6(boolean i) {
@@ -2068,6 +2082,31 @@
assertFalse(pd.isPreferred());
}
assertEquals(2, info.getPropertyDescriptors().length);
+
+ BeanInfo dummyInfo = Introspector.getBeanInfo(FakeFox041.class);
+ PropertyDescriptor[] p = dummyInfo.getPropertyDescriptors();
+ assertFalse(p[0].isBound());
+ assertFalse(p[0].isConstrained());
+ assertFalse(p[1].isBound());
+ assertFalse(p[1].isConstrained());
+ assertTrue(p[2].isBound());
+ assertTrue(p[2].isConstrained());
+
+ dummyInfo = Introspector.getBeanInfo(FakeFox0411.class);
+ p = dummyInfo.getPropertyDescriptors();
+ assertFalse(p[0].isBound());
+ assertFalse(p[0].isConstrained());
+ assertFalse(p[1].isBound());
+ assertFalse(p[1].isConstrained());
+ assertTrue(p[2].isBound());
+ assertFalse(p[2].isConstrained());
+ assertTrue(p[3].isBound());
+ assertTrue(p[3].isConstrained());
+
+ dummyInfo = Introspector.getBeanInfo(FakeFox0411.class, FakeFox041.class);
+ p = dummyInfo.getPropertyDescriptors();
+ assertFalse(p[0].isBound());
+ assertFalse(p[0].isConstrained());
}
public void testDefaultEvent() throws IntrospectionException {
@@ -2114,6 +2153,7 @@
a = i;
}
}
+
static class MockClassForDefaultEvent {
public void addPropertyChangeListener(PropertyChangeListener a) {
}
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,13 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+
+public class FakeFox04 extends Object {
+
+ public int[] getOneProp() {
+ return null;
+ }
+
+ public void setOneProp(int[] i) {
+ }
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox04.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,25 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+import java.beans.PropertyChangeListener;
+import java.beans.PropertyVetoException;
+
+public class FakeFox041 extends FakeFox04 {
+
+ public int[] getTwoProp() {
+ return null;
+ }
+
+ // throwing PropertyVetoException makes this property constrained.
+ public void setTwoProp(int[] i) throws PropertyVetoException {
+ }
+
+ // being able to add/remove listeners makes this classes properties bound.
+ // but it does not bind properties in any superclasses.
+ // both add and remove methods are required.
+ public void addPropertyChangeListener(PropertyChangeListener l) {
+ }
+
+ public void removePropertyChangeListener(PropertyChangeListener l) {
+ }
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox041.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,15 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+import java.beans.PropertyVetoException;
+
+public class FakeFox0411 extends FakeFox041 {
+
+ public int[] getThreeProp() {
+ return null;
+ }
+
+ // throwing PropertyVetoException makes this property constrained.
+ public void setThreeProp(int[] i) {
+ }
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/FakeFox0411.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,5 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+public class MockNullSubClass extends MockNullSuperClass{
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClass.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,28 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+import java.beans.EventSetDescriptor;
+import java.beans.MethodDescriptor;
+import java.beans.PropertyDescriptor;
+import java.beans.SimpleBeanInfo;
+
+public class MockNullSubClassBeanInfo extends SimpleBeanInfo{
+ public PropertyDescriptor[] getPropertyDescriptors(){
+ return null;
+ }
+
+ public MethodDescriptor[] getMethodDescriptors(){
+ return null;
+ }
+
+ public EventSetDescriptor[] getEventSetDescriptors(){
+ return null;
+ }
+
+ public int getDefaultEventIndex(){
+ return Integer.MIN_VALUE;
+ }
+
+ public int getDefaultPropertyIndex(){
+ return Integer.MIN_VALUE;
+ }
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSubClassBeanInfo.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,5 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+public class MockNullSuperClass {
+
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClass.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java?view=auto&rev=557847
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java (added)
+++ harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java Thu Jul 19 19:44:52 2007
@@ -0,0 +1,20 @@
+package org.apache.harmony.beans.tests.support.mock;
+
+import java.beans.EventSetDescriptor;
+import java.beans.MethodDescriptor;
+import java.beans.PropertyDescriptor;
+import java.beans.SimpleBeanInfo;
+
+public class MockNullSuperClassBeanInfo extends SimpleBeanInfo{
+ public PropertyDescriptor[] getPropertyDescriptors(){
+ return null;
+ }
+
+ public MethodDescriptor[] getMethodDescriptors(){
+ return null;
+ }
+
+ public EventSetDescriptor[] getEventSetDescriptors(){
+ return null;
+ }
+}
Propchange: harmony/enhanced/classlib/trunk/modules/beans/src/test/support/java/org/apache/harmony/beans/tests/support/mock/MockNullSuperClassBeanInfo.java
------------------------------------------------------------------------------
svn:eol-style = native