package com.googlecode.gwt.test; import com.google.gwt.dom.client.ButtonElement; import com.google.gwt.dom.client.Document; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import org.junit.Before; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; @SuppressWarnings("deprecation") public class ButtonTest extends GwtTestTest { private Button b; @Before public void beforeButtonTest() { // create the button in a standard JVM b = new Button(); // needs to be attached RootPanel.get().add(b); } @Test public void checkToString() { // Given b.setHTML("test button"); b.setEnabled(false); b.setFocus(false); b.setAccessKey('h'); b.setStyleName("my-style"); // When String toString = b.toString(); // Then assertThat(toString).isEqualTo("<button type=\"button\" class=\"my-style\" disabled=\"\" accessKey=\"h\">test button</button>"); } @Test public void click_ClickHandler() { // Given // add a handler to test the click b.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { b.setHTML("clicked"); } }); // Preconditions assertThat(b.getHTML()).isEqualTo(""); // When b.click(); // Then assertThat(b.getHTML()).isEqualTo("clicked"); } @Test public void click_ClickListener() { // Given b.addClickListener(new ClickListener() { public void onClick(Widget sender) { b.setHTML("clicked"); } }); // Preconditions assertThat(b.getHTML()).isEqualTo(""); // When b.click(); // Then assertThat(b.getHTML()).isEqualTo("clicked"); } @Test public void enabled() { // Preconditions assertThat(b.isEnabled()).isEqualTo(true); // When b.setEnabled(false); // Then assertThat(b.isEnabled()).isEqualTo(false); } @Test public void html() { // Preconditions assertThat(b.getHTML()).isEqualTo(""); // When b.setHTML("test-html"); // Then assertThat(b.getHTML()).isEqualTo("test-html"); } @Test public void styleName() { // Preconditions assertThat(b.getStyleName()).isEqualTo("gwt-Button"); // When b.setStyleName("test-button-style"); // Then assertThat(b.getStyleName()).isEqualTo("test-button-style"); } @Test public void stylePrimaryName() { // When b.setStylePrimaryName("test-button-styleP"); // Then assertThat(b.getStylePrimaryName()).isEqualTo("test-button-styleP"); } @Test public void text() { // When b.setText("toto"); // Then assertThat(b.getText()).isEqualTo("toto"); } @Test public void title() { // When b.setTitle("title"); // Then assertThat(b.getTitle()).isEqualTo("title"); } @Test public void visible() { // Preconditions assertThat(b.isVisible()).isEqualTo(true); // When b.setVisible(false); // Then assertThat(b.isVisible()).isEqualTo(false); } @Test public void wrap() { // Given ButtonElement element = Document.get().createPushButtonElement(); element.setTabIndex(3); Document.get().getBody().appendChild(element); // When Button b = Button.wrap(element); // Then 1 assertThat(b.getTabIndex()).isEqualTo(3); // When 2 b.setTabIndex(1); // Then 2 assertThat(element.getTabIndex()).isEqualTo(1); } }