public class FormTester extends Object
FormComponent
s.Modifier and Type | Class and Description |
---|---|
protected class |
FormTester.ChoiceSelector
A selector template for selecting selectable
FormComponent s with an index of
option -- supports RadioGroup , CheckGroup , and
AbstractChoice family. |
Modifier | Constructor and Description |
---|---|
protected |
FormTester(String path,
Form<?> workingForm,
BaseWicketTester wicketTester,
boolean fillBlankString) |
Modifier and Type | Method and Description |
---|---|
Form<?> |
getForm()
Retrieves the current
Form object. |
static String[] |
getInputValue(FormComponent<?> formComponent)
Gets request parameter values for the form component that represents its current model value
|
String |
getTextComponentValue(String id)
Gets the value for an
AbstractTextComponent with the provided id. |
boolean |
isClearFeedbackMessagesBeforeSubmit() |
FormTester |
select(String formComponentId,
int index)
Simulates selecting an option of a
FormComponent . |
FormTester |
selectMultiple(String formComponentId,
int[] indexes)
A convenience method to select multiple options for the
FormComponent . |
FormTester |
selectMultiple(String formComponentId,
int[] indexes,
boolean replace)
A convenience method to select multiple options for the
FormComponent . |
FormTester |
setClearFeedbackMessagesBeforeSubmit(boolean clearFeedbackMessagesBeforeSubmit) |
FormTester |
setFile(String formComponentId,
org.apache.wicket.util.file.File file,
String contentType)
Sets the
File on a FileUploadField . |
FormTester |
setValue(Component formComponent,
String value)
Simulates filling in a field on a
Form . |
FormTester |
setValue(String checkBoxId,
boolean value) |
FormTester |
setValue(String formComponentId,
String value)
Simulates filling in a field on a
Form . |
FormTester |
submit()
Submits the
Form . |
FormTester |
submit(Component buttonComponent)
A convenience method for submitting the
Form with an alternate button. |
FormTester |
submit(String buttonComponentId)
A convenience method for submitting the
Form with an alternate button. |
FormTester |
submitLink(String path,
boolean pageRelative)
A convenience method to submit the Form via a SubmitLink which may inside or outside of the
Form.
|
protected FormTester(String path, Form<?> workingForm, BaseWicketTester wicketTester, boolean fillBlankString)
path
- path to FormComponent
workingForm
- FormComponent
to be testedwicketTester
- WicketTester
that creates FormTester
fillBlankString
- specifies whether to fill child TextComponent
s with blank
String
sBaseWicketTester.newFormTester(String)
public static String[] getInputValue(FormComponent<?> formComponent)
formComponent
- public Form<?> getForm()
Form
object.Form
public String getTextComponentValue(String id)
AbstractTextComponent
with the provided id.id
- Component
idpublic FormTester select(String formComponentId, int index)
FormComponent
. Supports
RadioGroup
, CheckGroup
, and AbstractChoice
family
currently. The behavior is similar to interacting on the browser: For a single choice, such
as Radio
or DropDownList
, the selection will toggle each other. For
multiple choice, such as Checkbox
or ListMultipleChoice
, the
selection will accumulate.formComponentId
- relative path (from Form
) to the selectable
FormComponent
index
- index of the selectable option, starting from 0public FormTester selectMultiple(String formComponentId, int[] indexes)
FormComponent
. The
method only support multiple selectable FormComponent
s.formComponentId
- relative path (from Form
) to the selectable
FormComponent
indexes
- index of the selectable option, starting from 0select(String, int)
public FormTester selectMultiple(String formComponentId, int[] indexes, boolean replace)
FormComponent
. The
method only support multiple selectable FormComponent
s.formComponentId
- relative path (from Form
) to the selectable
FormComponent
indexes
- index of the selectable option, starting from 0replace
- If true, than all previous selects are first reset, thus existing selects are
replaced. If false, than the new indexes will be added.select(String, int)
public FormTester setValue(String formComponentId, String value)
Form
.formComponentId
- relative path (from Form
) to the selectable
FormComponent
or IFormSubmittingComponent
value
- the field valuepublic FormTester setValue(Component formComponent, String value)
Form
.formComponent
- relative path (from Form
) to the selectable
FormComponent
or IFormSubmittingComponent
value
- the field valuepublic FormTester setValue(String checkBoxId, boolean value)
checkBoxId
- value
- public FormTester setFile(String formComponentId, org.apache.wicket.util.file.File file, String contentType)
File
on a FileUploadField
.formComponentId
- relative path (from Form
) to the selectable
FormComponent
. The FormComponent
must be of a type
FileUploadField
.file
- the File
to upload or null
for an empty inputcontentType
- the content type of the file. Must be a valid mime type.public FormTester submit()
Form
. Note that submit
can be executed only once.public boolean isClearFeedbackMessagesBeforeSubmit()
public FormTester setClearFeedbackMessagesBeforeSubmit(boolean clearFeedbackMessagesBeforeSubmit)
public FormTester submit(String buttonComponentId)
Form
with an alternate button.
Note that if the button is associated with a model, it's better to use the
setValue
method instead:
formTester.setValue("to:my:button", "value on the button"); formTester.submit();
buttonComponentId
- relative path (from Form
) to the buttonpublic FormTester submit(Component buttonComponent)
Form
with an alternate button.
Note that if the button is associated with a model, it's better to use the
setValue
method instead:
formTester.setValue(myButton, "value on the button"); formTester.submit();
buttonComponent
- relative path (from Form
) to the buttonpublic FormTester submitLink(String path, boolean pageRelative)
path
- The path to the SubmitLinkpageRelative
- if true, than the 'path' to the SubmitLink is relative to the page. Thus the link
can be outside the form. If false, the path is relative to the form and thus the
link is inside the form.Copyright © 2006–2020 Apache Software Foundation. All rights reserved.