Package com.googlecode.gwt.test.csv

Source Code of com.googlecode.gwt.test.csv.MyGwtShell

package com.googlecode.gwt.test.csv;

import static com.googlecode.gwt.test.finder.GwtFinder.object;

import org.junit.Before;
import org.junit.runner.RunWith;

import com.google.gwt.user.client.ui.Widget;
import com.googlecode.gwt.test.GwtModule;
import com.googlecode.gwt.test.csv.data.MyBeautifulApp;
import com.googlecode.gwt.test.csv.data.MyRemoteService;
import com.googlecode.gwt.test.csv.data.MyService;
import com.googlecode.gwt.test.csv.data.MyStringStore;
import com.googlecode.gwt.test.finder.GwtFinder;
import com.googlecode.gwt.test.finder.Node;
import com.googlecode.gwt.test.finder.NodeObjectFinder;
import com.googlecode.gwt.test.rpc.RemoteServiceCreateHandler;

@RunWith(GwtCsvRunner.class)
@GwtModule("com.googlecode.gwt.test.csv.GwtCsvTest")
public abstract class MyGwtShell extends GwtCsvTest {

   private MyBeautifulApp app;

   @CsvMethod
   public void append(String s) {
      MyStringStore.appender += s;
   }

   @CsvMethod
   public void detachWidget(String... params) {
      object(params).ofType(Widget.class).removeFromParent();
   }

   @CsvMethod
   public void initApp() {
      app = new MyBeautifulApp();
      app.onModuleLoad();
   }

   @CsvMethod
   public void setId(String newId, String... params) {
      object(params).ofType(Widget.class).getElement().setId(newId);
   }

   @Before
   public void setUp() throws Exception {
      registerCustomCreateHandler();
      registerNodeFinder();
   }

   @Override
   protected String getHostPagePath(String moduleFullQualifiedName) {
      return null;
   }

   private void registerCustomCreateHandler() {
      addGwtCreateHandler(new RemoteServiceCreateHandler() {

         @Override
         public Object findService(Class<?> remoteServiceClass, String remoteServiceRelativePath) {
            if (remoteServiceClass == MyRemoteService.class
                     && "myService".equals(remoteServiceRelativePath)) {
               return new MyService();
            }
            return null;
         }

      });
   }

   private void registerNodeFinder() {

      GwtFinder.registerNodeFinder("app", new NodeObjectFinder() {

         public Object find(Node node) {
            return csvRunner.getNodeValue(app, node);
         }
      });

      MyStringStore.appender = "";

      GwtFinder.registerNodeFinder("appender", new NodeObjectFinder() {

         public Object find(Node node) {
            return MyStringStore.appender;
         }
      });
   }

}
TOP

Related Classes of com.googlecode.gwt.test.csv.MyGwtShell

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.