use of org.apache.tapestry5.ioc.annotations.Value in project tapestry-5 by apache.
the class OutputTest method output_with_element_and_informals.
@Test
public void output_with_element_and_informals() {
String elementName = "span";
MarkupWriter writer = createMarkupWriter();
ComponentResources resources = mockComponentResources();
train_renderInformalParameters(resources, writer, "foo", "bar");
replay();
Output component = new Output();
component.setup(value, format, true, elementName, resources);
assertFalse(component.beginRender(writer));
verify();
assertEquals(writer.toString(), "<span foo=\"bar\">22.70</span>");
}
use of org.apache.tapestry5.ioc.annotations.Value in project tapestry-5 by apache.
the class OutputTest method simple_output_with_filter_disabled.
@Test
public void simple_output_with_filter_disabled() {
MarkupWriter writer = createMarkupWriter();
ComponentResources resources = mockComponentResources();
replay();
Output component = new Output();
component.setup(value, filterFormat, false, null, resources);
writer.element("root");
assertFalse(component.beginRender(writer));
writer.end();
verify();
// It's not valid XML output, but that's why it's called programmer error :-)
assertEquals(writer.toString(), "<root><22.70></root>");
}
use of org.apache.tapestry5.ioc.annotations.Value in project tapestry-5 by apache.
the class OutputTest method simple_output_with_filter.
@Test
public void simple_output_with_filter() {
MarkupWriter writer = createMarkupWriter();
ComponentResources resources = mockComponentResources();
replay();
Output component = new Output();
component.setup(value, filterFormat, true, null, resources);
writer.element("root");
assertFalse(component.beginRender(writer));
writer.end();
verify();
assertEquals(writer.toString(), "<root><22.70></root>");
}
use of org.apache.tapestry5.ioc.annotations.Value in project tapestry-5 by apache.
the class OutputTest method null_format_is_a_noop.
@Test
public void null_format_is_a_noop() {
String elementName = "span";
MarkupWriter writer = createMarkupWriter();
ComponentResources resources = mockComponentResources();
Format format = new Format() {
private static final long serialVersionUID = -4360045992642727894L;
@Override
public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
return toAppendTo;
}
@Override
public Object parseObject(String source, ParsePosition pos) {
return null;
}
};
replay();
Output component = new Output();
component.setup(value, format, true, elementName, resources);
writer.element("root");
assertFalse(component.beginRender(writer));
writer.end();
verify();
assertEquals(writer.toString(), "<root></root>");
}
use of org.apache.tapestry5.ioc.annotations.Value in project tapestry-5 by apache.
the class SelectTest method submitted_option_matches_against_value_encoded_option_model_value.
/**
* This a test for TAP5-2184
*/
@Test
public void submitted_option_matches_against_value_encoded_option_model_value() throws ValidationException {
ValueEncoder<Integer> encoder = getService(ValueEncoderSource.class).getValueEncoder(Integer.class);
ValidationTracker tracker = mockValidationTracker();
Request request = mockRequest();
Messages messages = mockMessages();
FieldValidationSupport fvs = mockFieldValidationSupport();
TypeCoercer typeCoercer = mockTypeCoercer();
InternalComponentResources resources = mockInternalComponentResources();
Binding selectModelBinding = mockBinding();
expect(request.getParameter("xyz")).andReturn("5");
expect(messages.contains(EasyMock.anyObject(String.class))).andReturn(false).anyTimes();
expect(resources.getBinding("model")).andReturn(selectModelBinding);
final Holder<SelectModel> modelHolder = Holder.create();
expect(typeCoercer.coerce(EasyMock.or(EasyMock.isA(SelectModel.class), EasyMock.isNull()), EasyMock.eq(SelectModel.class))).andAnswer(new IAnswer<SelectModel>() {
@Override
public SelectModel answer() throws Throwable {
return modelHolder.get();
}
});
expect(selectModelBinding.get()).andAnswer(new IAnswer<SelectModel>() {
@Override
public SelectModel answer() throws Throwable {
return modelHolder.get();
}
});
Select select = new Select();
tracker.recordInput(select, "5");
fvs.validate(5, resources, null);
replay();
// TAP5-2184 is triggered by the automatic String->SelectModel coercion, because the OptionModel
// values are Strings even if the desired property type is not (Integer, here). Select has a little
// hack to run the model values through the ValueEncoder for comparison.
modelHolder.put(getService(TypeCoercer.class).coerce("1,5,10,20", SelectModel.class));
set(select, "encoder", encoder);
set(select, "model", modelHolder.get());
set(select, "request", request);
set(select, "secure", SecureOption.ALWAYS);
// Disable BeanValidationContextSupport
set(select, "beanValidationDisabled", true);
set(select, "tracker", tracker);
set(select, "fieldValidationSupport", fvs);
set(select, "typeCoercer", typeCoercer);
set(select, "resources", resources);
select.processSubmission("xyz");
verify();
assertEquals(get(select, "value"), 5);
}
Aggregations