package net.mostlyoriginal.gwt; import com.google.gwt.junit.client.GWTTestCase; import net.mostlyoriginal.api.event.common.EventListener; import net.mostlyoriginal.api.event.common.SubscribeAnnotationFinder; import net.mostlyoriginal.gwt.system.EmptyTestSystem; import net.mostlyoriginal.gwt.system.SubscribeAnnotationParameterTestSystem; import net.mostlyoriginal.gwt.system.SubscribeAnnotationTestSystem; import java.util.List; /** * Tests @Subscribe annotation under GWT. * * @author Daan van Yperen */ public class SubscribeAnnotationFinderGwtTest extends GWTTestCase { @Override public String getModuleName() { return "net.mostlyoriginal.ContribTest"; } public void test_FindListeners_MultipleListeners_ResolvesAllListeners() { List<EventListener> listeners = new SubscribeAnnotationFinder().resolve(new SubscribeAnnotationTestSystem()); assertEquals(2, listeners.size()); } public void test_FindListeners_SubscribeWithPriorityParameter_ResolvesParameter() { List<EventListener> listeners = new SubscribeAnnotationFinder().resolve(new SubscribeAnnotationParameterTestSystem()); assertEquals(5, listeners.get(0).getPriority()); } public void test_FindListeners_SubscribeWithIgnoreEventParameter_ResolvesParameter() { List<EventListener> listeners = new SubscribeAnnotationFinder().resolve(new SubscribeAnnotationParameterTestSystem()); assertEquals(true, listeners.get(0).isSkipCancelledEvents()); } public void test_FindListeners_NoListeners_EmptyList() { List<EventListener> listeners = new SubscribeAnnotationFinder().resolve(new EmptyTestSystem()); assertTrue(listeners.isEmpty()); } }