// Copyright � 2004-2007 ASERT. Released under the Canoo Webtest license.
package com.canoo.webtest.extension;
import com.canoo.webtest.engine.StepExecutionException;
import com.canoo.webtest.self.TestBlock;
import com.canoo.webtest.self.ThrowAssert;
import com.canoo.webtest.steps.BaseStepTestCase;
import com.canoo.webtest.steps.Step;
import com.canoo.webtest.steps.form.AbstractSetFieldStep;
/**
* Test class for {@link ForceInputFieldAttribute}.<p>
*
* @author Paul King
*/
public class ForceInputFieldAttributeTest extends BaseStepTestCase
{
private ForceInputFieldAttribute fStep;
protected Step createStep() {
return new ForceInputFieldAttribute();
}
protected void setUp() throws Exception {
super.setUp();
fStep = (ForceInputFieldAttribute) getStep();
}
public void testVerifyParameterUsage() {
TestBlock block = new TestBlock()
{
public void call() throws Exception {
executeStep(fStep);
}
};
// <forceInputFieldAttribute name="someName" attributeName="someName"/>
fStep.setName("someName");
fStep.setAttributeName("someName");
fStep.setAttributeValue(null);
assertStepRejectsNullParam("attributeValue", block);
// <forceInputFieldAttribute attributeName="someName" attributeValue="someValue"/>
fStep.setName(null);
fStep.setAttributeValue("someValue");
String msg = ThrowAssert.assertThrows(StepExecutionException.class, block);
assertTrue(msg.indexOf(AbstractSetFieldStep.MESSAGE_ARGUMENT_MISSING) != -1);
// <forceInputFieldAttribute name="someName" attributeValue="someValue"/>
fStep.setAttributeName(null);
fStep.setName("someName");
assertStepRejectsNullParam("attributeName", block);
}
public void testVerifyParametersWithoutPreviousPage() {
fStep.setAttributeValue("someValue");
fStep.setAttributeName("someName");
fStep.setName("someName");
assertStepRejectsNullResponse(fStep);
}
}