Search in sources :

Example 31 with EventSetDescriptor

use of java.beans.EventSetDescriptor in project j2objc by google.

the class EventSetDescriptorTest method main.

public static void main(String[] args) throws Exception {
    try {
        // No need to do anything clever, there's only one method and it's
        // the one we want.
        // Swap these two lines to make Harmony pass.
        //Method[] listenermethods = AnObjectListener.class.getDeclaredMethods();
        Method[] listenermethods = AnotherObjectListener.class.getDeclaredMethods();
        Method add = AnObject.class.getDeclaredMethod("addEventSetDescriptorTest3$AnObjectListener", AnObjectListener.class);
        Method remove = AnObject.class.getDeclaredMethod("removeEventSetDescriptorTest3$AnObjectListener", AnObjectListener.class);
        EventSetDescriptor esd = new EventSetDescriptor("something", AnObjectListener.class, listenermethods, add, remove);
        System.out.println("Test passed.");
    } catch (Exception e) {
        e.printStackTrace();
        System.out.println("Test failed.");
    }
}
Also used : Method(java.lang.reflect.Method) EventSetDescriptor(java.beans.EventSetDescriptor) IOException(java.io.IOException) IntrospectionException(java.beans.IntrospectionException)

Example 32 with EventSetDescriptor

use of java.beans.EventSetDescriptor in project j2objc by google.

the class EventSetDescriptorTest method testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameInvalid.

/*
     * getListenerMethodName is invalid (return void)
     */
public void testEventSetDescriptorClassStringClassStringArrayStringStringString_getListenerMethodNameInvalid() throws IntrospectionException {
    Class<MockSourceClass> sourceClass = MockSourceClass.class;
    String eventSetName = "MockPropertyChange";
    Class<?> listenerType = MockPropertyChangeListener.class;
    String[] listenerMethodNames = { "mockPropertyChange", "mockPropertyChange2" };
    String addMethod = "addMockPropertyChangeListener";
    String removeMethod = "removeMockPropertyChangeListener";
    String getMethod = addMethod;
    EventSetDescriptor esd = new EventSetDescriptor(sourceClass, eventSetName, listenerType, listenerMethodNames, addMethod, removeMethod, getMethod);
    assertNull(esd.getGetListenerMethod());
}
Also used : MockPropertyChangeListener(org.apache.harmony.beans.tests.support.mock.MockPropertyChangeListener) EventSetDescriptor(java.beans.EventSetDescriptor)

Example 33 with EventSetDescriptor

use of java.beans.EventSetDescriptor in project j2objc by google.

the class EventSetDescriptorTest method testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDNull.

/*
     * listenerMethodDescriptors is null
     */
public void testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDNull() throws IntrospectionException, NoSuchMethodException {
    String eventSetName = "MockPropertyChange";
    Class<?> listenerType = MockPropertyChangeListener.class;
    Class<MockSourceClass> sourceClass = MockSourceClass.class;
    Method addMethod = sourceClass.getMethod("addMockPropertyChangeListener", listenerType);
    Method removeMethod = sourceClass.getMethod("removeMockPropertyChangeListener", listenerType);
    EventSetDescriptor esd = new EventSetDescriptor(eventSetName, listenerType, (MethodDescriptor[]) null, addMethod, removeMethod);
    assertNull(esd.getListenerMethodDescriptors());
    assertNull(esd.getListenerMethods());
}
Also used : MockPropertyChangeListener(org.apache.harmony.beans.tests.support.mock.MockPropertyChangeListener) Method(java.lang.reflect.Method) EventSetDescriptor(java.beans.EventSetDescriptor) MethodDescriptor(java.beans.MethodDescriptor)

Example 34 with EventSetDescriptor

use of java.beans.EventSetDescriptor in project j2objc by google.

the class EventSetDescriptorTest method testEventSetDescriptorClassStringClassStringArrayStringString_eventNull.

/*
     * Event is null
     */
public void testEventSetDescriptorClassStringClassStringArrayStringString_eventNull() throws IntrospectionException {
    Class<MockSourceClass> sourceClass = MockSourceClass.class;
    String eventSetName = "MockPropertyChange";
    Class<?> listenerType = MockPropertyChangeListener.class;
    String[] listenerMethodNames = { "mockPropertyChange", "mockPropertyChange2" };
    String addMethod = "addMockPropertyChangeListener";
    String removeMethod = "removeMockPropertyChangeListener";
    EventSetDescriptor esd = new EventSetDescriptor(sourceClass, eventSetName, listenerType, listenerMethodNames, addMethod, removeMethod);
    assertEquals(addMethod, esd.getAddListenerMethod().getName());
    assertEquals(removeMethod, esd.getRemoveListenerMethod().getName());
    assertNull(esd.getGetListenerMethod());
    assertEquals(2, esd.getListenerMethods().length);
    assertEquals(listenerMethodNames[0], esd.getListenerMethods()[0].getName());
    assertEquals(listenerMethodNames[1], esd.getListenerMethods()[1].getName());
    assertEquals(2, esd.getListenerMethodDescriptors().length);
    assertEquals(listenerMethodNames[0], esd.getListenerMethodDescriptors()[0].getMethod().getName());
    assertEquals(listenerMethodNames[1], esd.getListenerMethodDescriptors()[1].getMethod().getName());
    assertEquals(listenerType, esd.getListenerType());
    assertTrue(esd.isInDefaultEventSet());
    assertFalse(esd.isUnicast());
    //Regression for HARMONY-1504
    try {
        new EventSetDescriptor(sourceClass, null, listenerType, listenerMethodNames, addMethod, removeMethod);
        fail("NullPointerException expected");
    } catch (NullPointerException e) {
    //expected
    }
}
Also used : MockPropertyChangeListener(org.apache.harmony.beans.tests.support.mock.MockPropertyChangeListener) EventSetDescriptor(java.beans.EventSetDescriptor)

Example 35 with EventSetDescriptor

use of java.beans.EventSetDescriptor in project j2objc by google.

the class EventSetDescriptorTest method testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDInvalid.

/*
     * listenerMethodDescriptors is invalid
     */
public void testEventSetDescriptorStringClassMethodDescriptorArrayMethodMethod_ListenerMDInvalid() throws SecurityException, NoSuchMethodException, IntrospectionException {
    String eventSetName = "MockPropertyChange";
    Class<?> listenerType = MockPropertyChangeListener.class;
    Method[] listenerMethods = { listenerType.getMethod("mockPropertyChange", MockPropertyChangeEvent.class), listenerType.getMethod("mockPropertyChange_Invalid") };
    MethodDescriptor[] listenerMethodDescriptors = { new MethodDescriptor(listenerMethods[0]), new MethodDescriptor(listenerMethods[1]) };
    Class<MockSourceClass> sourceClass = MockSourceClass.class;
    Method addMethod = sourceClass.getMethod("addMockPropertyChangeListener", listenerType);
    Method removeMethod = sourceClass.getMethod("removeMockPropertyChangeListener", listenerType);
    // RI doesn't check parameters of listener methods
    EventSetDescriptor esd = new EventSetDescriptor(eventSetName, listenerType, listenerMethodDescriptors, addMethod, removeMethod);
    assertEquals(0, esd.getListenerMethods()[1].getParameterTypes().length);
    assertEquals(listenerMethodDescriptors[1], esd.getListenerMethodDescriptors()[1]);
}
Also used : MockPropertyChangeListener(org.apache.harmony.beans.tests.support.mock.MockPropertyChangeListener) MockPropertyChangeEvent(org.apache.harmony.beans.tests.support.mock.MockPropertyChangeEvent) Method(java.lang.reflect.Method) MethodDescriptor(java.beans.MethodDescriptor) EventSetDescriptor(java.beans.EventSetDescriptor)

Aggregations

EventSetDescriptor (java.beans.EventSetDescriptor)55 Method (java.lang.reflect.Method)34 MockPropertyChangeListener (org.apache.harmony.beans.tests.support.mock.MockPropertyChangeListener)31 BeanInfo (java.beans.BeanInfo)10 MethodDescriptor (java.beans.MethodDescriptor)10 IntrospectionException (java.beans.IntrospectionException)9 PropertyDescriptor (java.beans.PropertyDescriptor)6 MockPropertyChangeEvent (org.apache.harmony.beans.tests.support.mock.MockPropertyChangeEvent)6 SimpleBeanInfo (java.beans.SimpleBeanInfo)5 FakeFox01BeanInfo (org.apache.harmony.beans.tests.support.mock.FakeFox01BeanInfo)5 IndexedPropertyDescriptor (java.beans.IndexedPropertyDescriptor)3 DefaultActionGroup (com.intellij.openapi.actionSystem.DefaultActionGroup)2 BeanDescriptor (java.beans.BeanDescriptor)2 PrivilegedActionException (java.security.PrivilegedActionException)2 PrivilegedExceptionAction (java.security.PrivilegedExceptionAction)2 CachedMethod (org.codehaus.groovy.reflection.CachedMethod)2 GeneratedMetaMethod (org.codehaus.groovy.reflection.GeneratedMetaMethod)2 ClosureMetaMethod (org.codehaus.groovy.runtime.metaclass.ClosureMetaMethod)2 MixinInstanceMetaMethod (org.codehaus.groovy.runtime.metaclass.MixinInstanceMetaMethod)2 NewInstanceMetaMethod (org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod)2