Package com.tll.client

Source Code of com.tll.client.UITests$MvcTest

package com.tll.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.PushButton;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
import com.tll.client.ui.view.RecentViewsPanel;
import com.tll.client.ui.view.ViewPathPanel;
import com.tll.client.ui.view.ViewToolbar;
import com.tll.client.view.ShowViewRequest;
import com.tll.client.view.ViewAInit;
import com.tll.client.view.ViewBInit;
import com.tll.client.view.ViewC;
import com.tll.client.view.ViewD;
import com.tll.client.view.ViewE;
import com.tll.client.view.ViewManager;
import com.tll.client.view.ViewOptions;

/**
* UI Tests - GWT module for the sole purpose of verifying the DOM/Style of
* compiled GWT code.
*/
public final class UITests extends AbstractUITest {

  @Override
  protected String getTestSubjectName() {
    return "client-mvc module";
  }

  @Override
  protected UITestCase[] getTestCases() {
    return new UITestCase[] {
      new ViewToolbarTest(), new MvcTest() };
  }

  /**
   * ViewToolbarTest - Tests the styling and functionality of the view toolbar.
   * @author jpk
   */
  static final class ViewToolbarTest extends DefaultUITestCase {

    ViewToolbar vt;

    /**
     * Constructor
     */
    public ViewToolbarTest() {
      super("ViewToolbar test", "Tests the ViewToolbar styling and functionality");
    }

    @Override
    protected Widget getContext() {
      return vt;
    }

    @Override
    protected void init() {
      final ViewOptions vo = new ViewOptions(true, true, true, true, false, false);
      vt = new ViewToolbar("Testing", vo, new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
          Window.alert("Click");
        }
      });

      // add some view option buttons
      vt.addViewOpButton(new PushButton("Option 1"), "Option 1");
      vt.addViewOpButton(new PushButton("Option 2"), "Option 2");
    }

    @Override
    protected void teardown() {
      vt.removeFromParent();
      vt = null;
    }
  } // ViewToolbarTest

  /**
   * MvcTest - tests the rendering of fields and their value change
   * event handling for all defined field widget types.
   * @author jpk
   */
  static final class MvcTest extends DefaultUITestCase {

    VerticalPanel context;
    FlowPanel viewContainer;
    String dyn;

    /**
     * Constructor
     */
    public MvcTest() {
      super("MVC Test", "Tests the basic MVC operation");
    }

    @Override
    protected void init() {

      context = new VerticalPanel();
      context.setBorderWidth(2);
      context.setSpacing(4);
      context.add(new ViewPathPanel(4));
      context.add(new RecentViewsPanel(3));

      viewContainer = new FlowPanel();
      viewContainer.add(new Label("This is line 1"));
      viewContainer.add(new Label("This is line 2"));
      viewContainer.add(new Label("This is line 3"));
      context.add(viewContainer);

      ViewManager.initialize(viewContainer, 3);

      dyn = "dyn";
    }

    @Override
    protected void teardown() {
      context.removeFromParent();
      context = null;
      viewContainer = null;
      ViewManager.shutdown();
    }

    @Override
    protected Widget getContext() {
      return context;
    }

    @Override
    protected Button[] getTestActions() {
      return new Button[] {
        new Button("View A", new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            ViewManager.get().dispatch(new ShowViewRequest(new ViewAInit(), null));
          }
        }),
        new Button("View B", new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            ViewManager.get().dispatch(new ShowViewRequest(new ViewBInit(dyn), null));
          }
        }),
        new Button("View C", new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            ViewManager.get().dispatch(new ShowViewRequest(ViewC.klas));
          }
        }),
        new Button("View D", new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            ViewManager.get().dispatch(new ShowViewRequest(ViewD.klas));
          }
        }),
        new Button("View E", new ClickHandler() {

          @Override
          public void onClick(ClickEvent event) {
            ViewManager.get().dispatch(new ShowViewRequest(ViewE.klas));
          }
        })
      };
    }
  } // MvcTest

}
TOP

Related Classes of com.tll.client.UITests$MvcTest

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.