Package com.googlecode.gwt.test

Source Code of com.googlecode.gwt.test.WidgetUtilsTest

package com.googlecode.gwt.test;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import java.util.List;

import org.junit.Test;

import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.ListBox;
import com.google.gwt.user.client.ui.MenuBar;
import com.google.gwt.user.client.ui.MenuItem;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.SuggestBox;
import com.google.gwt.user.client.ui.SuggestBox.SuggestionDisplay;
import com.googlecode.gwt.MockValueChangeHandler;
import com.googlecode.gwt.test.utils.GwtReflectionUtils;
import com.googlecode.gwt.test.utils.WidgetUtils;

public class WidgetUtilsTest extends GwtTestTest {

   @Test
   public void assertListBoxDataDoNotMatchDifferentElement() {
      // Arrange
      ListBox lb = new ListBox();
      lb.addItem("item0");
      lb.addItem("item1");
      lb.addItem("iTem2");

      String[] content = new String[]{"item0", "item1", "item2"};

      // Act & Assert
      assertFalse(WidgetUtils.assertListBoxDataMatch(lb, content));
   }

   @Test
   public void assertListBoxDataDoNotMatchMissingElement() {
      // Arrange
      ListBox lb = new ListBox();
      lb.addItem("item0");
      lb.addItem("item1");

      String[] content = new String[]{"item0", "item1", "item2"};

      // Act & Assert
      assertFalse(WidgetUtils.assertListBoxDataMatch(lb, content));
   }

   @Test
   public void assertListBoxDataMatch() {
      // Arrange
      ListBox lb = new ListBox();
      lb.addItem("item0");
      lb.addItem("item1");
      lb.addItem("item2");

      String[] content = new String[]{"item0", "item1", "item2"};

      // Act & Assert
      assertTrue(WidgetUtils.assertListBoxDataMatch(lb, content));
   }

   @Test
   public void getListBoxContentToString() {
      // Arrange
      ListBox lb = new ListBox();
      lb.addItem("item0");
      lb.addItem("item1");
      lb.addItem("item2");

      String expected = "item0 | item1 | item2 |";

      // Act
      String actual = WidgetUtils.getListBoxContentToString(lb);

      assertEquals(expected, actual);
   }

   @Test
   public void itemIsNotVisibleWhenParentIsNotVisible() {
      MenuBar bar = new MenuBar();
      bar.setVisible(false);
      MenuItem item0 = bar.addItem("test0", (Command) null);
      item0.setVisible(true);

      // Act
      Boolean isVisible = WidgetUtils.isWidgetVisible(item0);

      // Assert
      assertFalse(isVisible);
   }

   @Test
   public void listBoxIndex() {
      // Arrange
      ListBox lb = new ListBox();
      lb.addItem("item0");
      lb.addItem("item1");
      lb.addItem("item2");

      // Act & Assert
      assertEquals(0, WidgetUtils.getIndexInListBox(lb, "item0"));
      assertEquals(1, WidgetUtils.getIndexInListBox(lb, "item1"));
      assertEquals(2, WidgetUtils.getIndexInListBox(lb, "item2"));
      assertEquals(-1, WidgetUtils.getIndexInListBox(lb, "item3"));
   }

   @Test
   public void menuBarItems() {
      // Arrange
      MenuBar bar = new MenuBar();

      Command cmd = new Command() {
         public void execute() {
         }

      };

      MenuItem item0 = bar.addItem("item0", cmd);
      MenuItem item1 = bar.addItem("item1", cmd);

      // Act
      List<MenuItem> items = WidgetUtils.getMenuItems(bar);

      // Assert
      assertEquals(2, items.size());
      assertEquals(item0, items.get(0));
      assertEquals(item1, items.get(1));
   }

   @Test
   public void newWidgetIsNotVisibleWhenParentIsNotVisible() {
      // Arrange
      SimplePanel sp = new SimplePanel();
      sp.setVisible(false);
      Button b = new Button();
      sp.add(b);

      // Act
      Boolean isVisible = WidgetUtils.isWidgetVisible(b);

      // Assert
      assertFalse(isVisible);
   }

   @Test
   public void newWidgetIsVisible() {
      // Arrange
      Button b = new Button();

      // Act
      Boolean isVisible = WidgetUtils.isWidgetVisible(b);

      // Assert
      assertTrue(isVisible);
   }

   @Test
   public void setCheckBoxValueSilent() {
      // Arrange
      CheckBox cb = new CheckBox();
      cb.setValue(true);
      MockValueChangeHandler<Boolean> mockChangeHandler = new MockValueChangeHandler<Boolean>();
      cb.addValueChangeHandler(mockChangeHandler);

      // Pre-Assert
      assertTrue(cb.getValue());
      assertEquals(0, mockChangeHandler.getCallCount());

      // Act
      WidgetUtils.setCheckBoxValueSilent(cb, false);

      // Assert
      assertEquals(false, cb.getValue());
      assertEquals(0, mockChangeHandler.getCallCount());
   }

   @Test
   public void suggestBoxItems() {
      // Arrange
      SuggestBox box = new SuggestBox();
      SuggestionDisplay display = GwtReflectionUtils.getPrivateFieldValue(box, "display");
      MenuBar bar = GwtReflectionUtils.getPrivateFieldValue(display, "suggestionMenu");

      Command cmd = new Command() {
         public void execute() {
         }

      };

      MenuItem item0 = bar.addItem("item0", cmd);
      MenuItem item1 = bar.addItem("item1", cmd);

      // Act
      List<MenuItem> items = WidgetUtils.getMenuItems(box);

      // Assert
      assertEquals(2, items.size());
      assertEquals(item0, items.get(0));
      assertEquals(item1, items.get(1));
   }

}
TOP

Related Classes of com.googlecode.gwt.test.WidgetUtilsTest

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.