Package com.google.gdt.eclipse.designer.smartgwt.model.widgets

Source Code of com.google.gdt.eclipse.designer.smartgwt.model.widgets.MenuTest

/*******************************************************************************
* Copyright 2011 Google Inc. All Rights Reserved.
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*******************************************************************************/
package com.google.gdt.eclipse.designer.smartgwt.model.widgets;

import com.google.gdt.eclipse.designer.smart.model.CanvasInfo;
import com.google.gdt.eclipse.designer.smart.model.TabSetInfo;
import com.google.gdt.eclipse.designer.smart.model.menu.MenuInfo;
import com.google.gdt.eclipse.designer.smart.model.menu.MenuItemInfo;
import com.google.gdt.eclipse.designer.smartgwt.model.SmartGwtModelTest;

import org.eclipse.wb.internal.core.model.generic.FlowContainer;
import org.eclipse.wb.internal.core.model.generic.FlowContainerFactory;

import static org.fest.assertions.Assertions.assertThat;

import java.util.List;

/**
* Test for {@link MenuInfo}, {@link MenuItemInfo}.
*
* @author sablin_aa
*/
public class MenuTest extends SmartGwtModelTest {
  ////////////////////////////////////////////////////////////////////////////
  //
  // Exit zone :-) XXX
  //
  ////////////////////////////////////////////////////////////////////////////
  public void _test_exit() throws Exception {
    System.exit(0);
  }

  ////////////////////////////////////////////////////////////////////////////
  //
  // Tests
  //
  ////////////////////////////////////////////////////////////////////////////
  public void test_parse() throws Exception {
    CanvasInfo canvas =
        parseJavaInfo(new String[]{
            "public class Test implements EntryPoint {",
            "  public void onModuleLoad() {",
            "    Canvas canvas = new Canvas();",
            "    Menu menu = new Menu();",
            "    MenuItem menuItem = new MenuItem('MenuItem');",
            "    menu.setItems(menuItem);",
            "    canvas.setContextMenu(menu);",
            "    canvas.draw();",
            "  }",
            "}"});
    canvas.refresh();
    MenuInfo menu = canvas.getChildren(MenuInfo.class).get(0);
    //
    List<MenuItemInfo> items = menu.getItems();
    assertThat(items.size()).isEqualTo(1);
    MenuItemInfo item = items.get(0);
    assertThat(item.getSubmenu()).isNull();
  }

  public void test_item_CREATE() throws Exception {
    CanvasInfo canvas =
        parseJavaInfo(new String[]{
            "public class Test implements EntryPoint {",
            "  public void onModuleLoad() {",
            "    Canvas canvas = new Canvas();",
            "    Menu menu = new Menu();",
            "    canvas.setContextMenu(menu);",
            "    canvas.draw();",
            "  }",
            "}"});
    canvas.refresh();
    MenuInfo menu = canvas.getChildren(MenuInfo.class).get(0);
    // create new MenuItem
    MenuItemInfo newItem = createJavaInfo("com.smartgwt.client.widgets.menu.MenuItem");
    {
      FlowContainer flowContainer = new FlowContainerFactory(menu, false).get().get(0);
      assertTrue(flowContainer.validateComponent(newItem));
      flowContainer.command_CREATE(newItem, null);
    }
    assertThat(newItem.getMenu()).isSameAs(menu);
    assertEditor(
        "public class Test implements EntryPoint {",
        "  public void onModuleLoad() {",
        "    Canvas canvas = new Canvas();",
        "    Menu menu = new Menu();",
        "    {",
        "      MenuItem menuItem = new MenuItem('New MenuItem');",
        "      menu.addItem(menuItem);",
        "    }",
        "    canvas.setContextMenu(menu);",
        "    canvas.draw();",
        "  }",
        "}");
  }

  public void test_item_MOVE() throws Exception {
    CanvasInfo canvas =
        parseJavaInfo(new String[]{
            "public class Test implements EntryPoint {",
            "  public void onModuleLoad() {",
            "    Canvas canvas = new Canvas();",
            "    Menu menu = new Menu();",
            "    MenuItem menuItem = new MenuItem('MenuItem');",
            "    menu.setItems(menuItem, new MenuItemSeparator());",
            "    canvas.setContextMenu(menu);",
            "    canvas.draw();",
            "  }",
            "}"});
    canvas.refresh();
    MenuInfo menu = canvas.getChildren(MenuInfo.class).get(0);
    //
    List<MenuItemInfo> items = menu.getItems();
    assertThat(items.size()).isEqualTo(2);
    MenuItemInfo item = items.get(0);
    MenuItemInfo separator = items.get(1);
    {
      FlowContainer flowContainer = new FlowContainerFactory(menu, false).get().get(0);
      flowContainer.command_MOVE(separator, item);
    }
    assertEditor(
        "public class Test implements EntryPoint {",
        "  public void onModuleLoad() {",
        "    Canvas canvas = new Canvas();",
        "    Menu menu = new Menu();",
        "    MenuItem menuItem = new MenuItem('MenuItem');",
        "    MenuItemSeparator menuItemSeparator = new MenuItemSeparator();",
        "    menu.addItem(menuItemSeparator);",
        "    menu.setItems(menuItem);",
        "    canvas.setContextMenu(menu);",
        "    canvas.draw();",
        "  }",
        "}");
  }

  /**
   * Test dispose objects when it been not rendered.
   */
  public void test_dispose() throws Exception {
    TabSetInfo tabSet =
        parseJavaInfo(new String[]{
            "public class Test implements EntryPoint {",
            "  public void onModuleLoad() {",
            "    TabSet tabSet = new TabSet();",
            "    tabSet.addTab(new Tab('Tab_1'));",
            "    Tab tab = new Tab('Tab_2');",
            "    {",
            "      Canvas canvas = new Canvas();",
            "      Menu menu = new Menu();",
            "      MenuItem menuItem = new MenuItem('MenuItem');",
            "      menu.setItems(menuItem);",
            "      canvas.addChild(menu);",
            "      tab.setPane(canvas);",
            "    }",
            "    tabSet.addTab(tab);",
            "    tabSet.draw();",
            "  }",
            "}"});
    tabSet.refresh();
  }
}
TOP

Related Classes of com.google.gdt.eclipse.designer.smartgwt.model.widgets.MenuTest

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.