Search in sources :

Example 11 with SimplePresenter01

use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.

the class Mvp4gConfigurationFileReaderTest method setUp.

@Before
public void setUp() {
    sourceWriter = new SourceWriterTestStub();
    TreeLogger tl = new UnitTestTreeLogger.Builder().createLogger();
    configuration = new Mvp4gConfiguration(tl, new GeneratorContextStub());
    writer = new Mvp4gConfigurationFileWriter(sourceWriter, configuration);
    String eventBusInterface = EventBus.class.getName();
    String eventBusClass = BaseEventBus.class.getName();
    configuration.setEventBus(new EventBusElement(eventBusInterface, eventBusClass, false));
    ViewElement view = new ViewElement();
    view.setClassName(Object.class.getName());
    view.setName("startView");
    configuration.getViews().add(view);
    PresenterElement presenter = new PresenterElement();
    presenter.setClassName(SimplePresenter01.class.getCanonicalName());
    presenter.setName("startPresenter");
    presenter.setView("startView");
    configuration.getPresenters().add(presenter);
    StartElement start = new StartElement();
    start.setPresenter("startPresenter");
    configuration.setStart(start);
    GinModuleElement ginModule = new GinModuleElement();
    ginModule.setModules(new String[] { DefaultMvp4gGinModule.class.getCanonicalName() });
    configuration.setGinModule(ginModule);
    TypeOracleStub oracle = (TypeOracleStub) configuration.getOracle();
    configuration.setModule(oracle.addClass(Mvp4gModule.class));
}
Also used : TypeOracleStub(com.google.gwt.dev.javac.typemodel.TypeOracleStub) Mvp4gConfiguration(com.mvp4g.rebind.config.Mvp4gConfiguration) Mvp4gModule(com.mvp4g.client.Mvp4gModule) UnitTestTreeLogger(com.google.gwt.dev.util.UnitTestTreeLogger) TreeLogger(com.google.gwt.core.ext.TreeLogger) UnitTestTreeLogger(com.google.gwt.dev.util.UnitTestTreeLogger) DefaultMvp4gGinModule(com.mvp4g.client.DefaultMvp4gGinModule) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Before(org.junit.Before)

Example 12 with SimplePresenter01

use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.

the class EventsAnnotationsLoaderTest method testEventBusWithLookup.

@Test
public void testEventBusWithLookup() throws Mvp4gAnnotationException {
    List<JClassType> annotedClasses = new ArrayList<JClassType>();
    annotedClasses.add(oracle.addClass(SimplePresenter01.class));
    new PresenterAnnotationsLoader().load(annotedClasses, configuration);
    annotedClasses.clear();
    JClassType type = oracle.addClass(Events.EventBusWithLookUp.class);
    annotedClasses.add(type);
    loader.load(annotedClasses, configuration);
    EventBusElement eventBus = configuration.getEventBus();
    assertEquals(BaseEventBusWithLookUp.class.getName(), eventBus.getAbstractClassName());
    assertEquals(type.getQualifiedSourceName(), eventBus.getInterfaceClassName());
    assertTrue(eventBus.isWithLookUp());
}
Also used : JClassType(com.google.gwt.core.ext.typeinfo.JClassType) Events(com.mvp4g.rebind.test_tools.annotation.Events) BaseEventBusWithLookUp(com.mvp4g.client.event.BaseEventBusWithLookUp) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Test(org.junit.Test)

Example 13 with SimplePresenter01

use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.

the class EventsAnnotationsLoaderTest method testEventOk.

@Test
public void testEventOk() throws Mvp4gAnnotationException {
    List<JClassType> annotedClasses = new ArrayList<JClassType>();
    annotedClasses.add(oracle.addClass(PresenterWithName.class));
    annotedClasses.add(oracle.addClass(SimplePresenter01.class));
    new PresenterAnnotationsLoader().load(annotedClasses, configuration);
    annotedClasses.clear();
    annotedClasses.add(oracle.addClass(HistoryConverterForEvent.class));
    new HistoryAnnotationsLoader().load(annotedClasses, configuration);
    annotedClasses.clear();
    JClassType type = oracle.addClass(EventBusOk.class);
    annotedClasses.add(type);
    loader.load(annotedClasses, configuration);
    Set<EventElement> events = configuration.getEvents();
    assertEquals(5, events.size());
    List<String> activates, deactivates, binds, generates;
    for (EventElement e : events) {
        if ("event1".equals(e.getType())) {
            assertEquals(String.class.getName(), e.getEventObjectClass()[0]);
            assertEquals("treatEvent1", e.getCalledMethod());
            assertFalse(e.isNavigationEvent());
            assertFalse(e.isWithTokenGeneration());
            assertFalse(e.isPassive());
            assertEquals("name", e.getHandlers().get(0));
            assertEquals("history", e.getHistory());
        } else if ("event2".equals(e.getType())) {
            assertNull(e.getEventObjectClass());
            assertEquals("onEvent2", e.getCalledMethod());
            assertTrue(e.isNavigationEvent());
            assertTrue(e.isWithTokenGeneration());
            assertTrue(e.isPassive());
            assertEquals("name", e.getHandlers().get(0));
            assertEquals("history", e.getHistory());
        } else if ("event3".equals(e.getType())) {
            activates = e.getActivate();
            deactivates = e.getDeactivate();
            generates = e.getGenerate();
            assertEquals(2, activates.size());
            assertEquals(2, deactivates.size());
            assertEquals(2, generates.size());
            assertEquals("name", activates.get(1));
            assertEquals("name", deactivates.get(1));
            assertEquals("name", generates.get(1));
        } else if ("event4".equals(e.getType())) {
            activates = e.getActivate();
            deactivates = e.getDeactivate();
            generates = e.getGenerate();
            assertEquals(4, activates.size());
            assertEquals(4, deactivates.size());
            assertEquals(4, generates.size());
            assertEquals("name", activates.get(2));
            assertEquals("name", deactivates.get(2));
            assertEquals("name", generates.get(2));
            assertEquals("name1", activates.get(3));
            assertEquals("name1", deactivates.get(3));
            assertEquals("name1", generates.get(3));
        } else if ("event5".equals(e.getType())) {
            binds = e.getBinds();
            assertEquals(3, binds.size());
            assertEquals("name", binds.get(0));
            assertEquals("name", binds.get(1));
            assertEquals("name1", binds.get(2));
        } else {
            fail("Unknown event name");
        }
    }
    assertEquals("event2", configuration.getStart().getEventType());
    assertEquals("event2", configuration.getHistory().getInitEvent());
    assertEquals("event1", configuration.getHistory().getNotFoundEvent());
    assertEquals("event2", configuration.getStart().getForwardEventType());
}
Also used : JClassType(com.google.gwt.core.ext.typeinfo.JClassType) PresenterWithName(com.mvp4g.rebind.test_tools.annotation.presenters.PresenterWithName) HistoryConverterForEvent(com.mvp4g.rebind.test_tools.annotation.history_converters.HistoryConverterForEvent) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Test(org.junit.Test)

Example 14 with SimplePresenter01

use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.

the class EventsAnnotationsLoaderTest method testSameEvent.

@Test(expected = Mvp4gAnnotationException.class)
public void testSameEvent() throws Mvp4gAnnotationException {
    try {
        List<JClassType> annotedClasses = new ArrayList<JClassType>();
        annotedClasses.add(oracle.addClass(SimplePresenter01.class));
        new PresenterAnnotationsLoader().load(annotedClasses, configuration);
        annotedClasses.clear();
        JClassType type = oracle.addClass(Events.EventBusWithSameMethod.class);
        annotedClasses.add(type);
        loader.load(annotedClasses, configuration);
    } catch (Mvp4gAnnotationException e) {
        assertTrue(e.getMessage().contains("Duplicate"));
        throw e;
    }
}
Also used : JClassType(com.google.gwt.core.ext.typeinfo.JClassType) Events(com.mvp4g.rebind.test_tools.annotation.Events) Mvp4gAnnotationException(com.mvp4g.rebind.exception.loader.Mvp4gAnnotationException) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Test(org.junit.Test)

Example 15 with SimplePresenter01

use of com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01 in project mvp4g by mvp4g.

the class EventsAnnotationsLoaderTest method testEventNoAnnotation.

@Test(expected = Mvp4gAnnotationException.class)
public void testEventNoAnnotation() throws Mvp4gAnnotationException {
    try {
        List<JClassType> annotedClasses = new ArrayList<JClassType>();
        annotedClasses.add(oracle.addClass(SimplePresenter01.class));
        new PresenterAnnotationsLoader().load(annotedClasses, configuration);
        annotedClasses.clear();
        JClassType type = oracle.addClass(Events.EventBusWithMethodAndNoAnnotation.class);
        annotedClasses.add(type);
        loader.load(annotedClasses, configuration);
    } catch (Mvp4gAnnotationException e) {
        assertTrue(e.getMessage().contains("annotation missing."));
        throw e;
    }
}
Also used : JClassType(com.google.gwt.core.ext.typeinfo.JClassType) Events(com.mvp4g.rebind.test_tools.annotation.Events) Mvp4gAnnotationException(com.mvp4g.rebind.exception.loader.Mvp4gAnnotationException) SimplePresenter01(com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01) Test(org.junit.Test)

Aggregations

SimplePresenter01 (com.mvp4g.rebind.test_tools.annotation.presenters.SimplePresenter01)18 Test (org.junit.Test)16 JClassType (com.google.gwt.core.ext.typeinfo.JClassType)8 Events (com.mvp4g.rebind.test_tools.annotation.Events)5 SimpleView02 (com.mvp4g.rebind.test_tools.annotation.views.SimpleView02)4 PresenterElement (com.mvp4g.rebind.config.element.PresenterElement)3 SimpleHistoryConverter01 (com.mvp4g.rebind.test_tools.annotation.history_converters.SimpleHistoryConverter01)3 TypeOracleStub (com.google.gwt.dev.javac.typemodel.TypeOracleStub)2 EventElement (com.mvp4g.rebind.config.element.EventElement)2 InjectedElement (com.mvp4g.rebind.config.element.InjectedElement)2 Mvp4gAnnotationException (com.mvp4g.rebind.exception.loader.Mvp4gAnnotationException)2 HistoryConverterForEvent (com.mvp4g.rebind.test_tools.annotation.history_converters.HistoryConverterForEvent)2 PresenterWithName (com.mvp4g.rebind.test_tools.annotation.presenters.PresenterWithName)2 Before (org.junit.Before)2 TreeLogger (com.google.gwt.core.ext.TreeLogger)1 UnitTestTreeLogger (com.google.gwt.dev.util.UnitTestTreeLogger)1 DefaultMvp4gGinModule (com.mvp4g.client.DefaultMvp4gGinModule)1 Mvp4gModule (com.mvp4g.client.Mvp4gModule)1 BaseEventBus (com.mvp4g.client.event.BaseEventBus)1 BaseEventBusWithLookUp (com.mvp4g.client.event.BaseEventBusWithLookUp)1