Browse Source

#8209 Added a public click() method to Button, simulating a click on server side

svn changeset:23275/svn branch:6.8
tags/7.0.0.alpha2
Johannes Dahlström 12 years ago
parent
commit
3ae537eaf9

+ 11
- 0
src/com/vaadin/ui/Button.java View File

@@ -515,6 +515,17 @@ public class Button extends AbstractField implements FieldEvents.BlurNotifier,
removeListener(ClickEvent.class, listener, BUTTON_CLICK_METHOD);
}

/**
* Simulates a button click, notifying all server-side listeners.
*
* No action is taken is the button is disabled.
*/
public void click() {
if (isEnabled() && !isReadOnly()) {
fireClick();
}
}

/**
* Fires a click event to all listeners without any event details.
*

+ 47
- 0
tests/server-side/com/vaadin/tests/server/component/button/ButtonClick.java View File

@@ -0,0 +1,47 @@
package com.vaadin.tests.server.component.button;

import static org.junit.Assert.assertEquals;

import com.vaadin.ui.Button;
import com.vaadin.ui.Button.ClickEvent;

import org.junit.Test;

/**
* Tests the public click() method.
*/
public class ButtonClick {
private boolean clicked = false;

@Test
public void testClick() {
getButton().click();
assertEquals(clicked, true);
}

@Test
public void testClickDisabled() {
Button b = getButton();
b.setEnabled(false);
b.click();
assertEquals(clicked, false);
}

@Test
public void testClickReadOnly() {
Button b = getButton();
b.setReadOnly(true);
b.click();
assertEquals(clicked, false);
}

private Button getButton() {
Button b = new Button();
b.addListener(new Button.ClickListener() {
public void buttonClick(ClickEvent ev) {
clicked = true;
}
});
return b;
}
}

Loading…
Cancel
Save