public class SubmitTest extends TestCase {
/**
* Test Submit onProcess behavior.
*/
public void testOnProcess() {
MockContext context = MockContext.initContext();
MockRequest request = context.getMockRequest();
Submit button = new Submit("button");
assertEquals("button", button.getName());
assertTrue(button.onProcess());
request.setParameter("button", "true");
assertTrue(button.onProcess());
final boolean check[] = new boolean[1];
button.setActionListener(new ActionListener() {
private static final long serialVersionUID = 1L;
public boolean onAction(Control source) {
check[0] = true;
return false;
}
});
// No request param -> no action listener executed
request.removeParameter("button");
assertTrue(button.onProcess());
context.executeActionListeners();
assertFalse(check[0]);
// Disabled button with request param
request.setParameter("button", "true");
button.setDisabled(true);