Search in sources :

Example 16 with Value

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>");
}
Also used : MarkupWriter(org.apache.tapestry5.MarkupWriter) ComponentResources(org.apache.tapestry5.ComponentResources) Test(org.testng.annotations.Test)

Example 17 with Value

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>");
}
Also used : MarkupWriter(org.apache.tapestry5.MarkupWriter) ComponentResources(org.apache.tapestry5.ComponentResources) Test(org.testng.annotations.Test)

Example 18 with Value

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>&lt;22.70&gt;</root>");
}
Also used : MarkupWriter(org.apache.tapestry5.MarkupWriter) ComponentResources(org.apache.tapestry5.ComponentResources) Test(org.testng.annotations.Test)

Example 19 with Value

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>");
}
Also used : Format(java.text.Format) DecimalFormat(java.text.DecimalFormat) FieldPosition(java.text.FieldPosition) MarkupWriter(org.apache.tapestry5.MarkupWriter) ComponentResources(org.apache.tapestry5.ComponentResources) ParsePosition(java.text.ParsePosition) Test(org.testng.annotations.Test)

Example 20 with Value

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);
}
Also used : Messages(org.apache.tapestry5.commons.Messages) InternalComponentResources(org.apache.tapestry5.internal.InternalComponentResources) TypeCoercer(org.apache.tapestry5.commons.services.TypeCoercer) Request(org.apache.tapestry5.http.services.Request) ValueEncoderSource(org.apache.tapestry5.services.ValueEncoderSource) EnumSelectModel(org.apache.tapestry5.util.EnumSelectModel) Test(org.testng.annotations.Test)

Aggregations

Test (org.testng.annotations.Test)83 ComponentResources (org.apache.tapestry5.ComponentResources)30 ComponentModel (org.apache.tapestry5.model.ComponentModel)16 MarkupWriter (org.apache.tapestry5.MarkupWriter)13 Field (org.apache.tapestry5.Field)12 PropertyConduit (org.apache.tapestry5.beanmodel.PropertyConduit)11 Location (org.apache.tapestry5.commons.Location)11 MessageFormatter (org.apache.tapestry5.commons.MessageFormatter)11 Type (org.apache.tapestry5.internal.plastic.asm.Type)11 MetaDataLocator (org.apache.tapestry5.services.MetaDataLocator)11 Messages (org.apache.tapestry5.commons.Messages)10 JSONObject (org.apache.tapestry5.json.JSONObject)10 Request (org.apache.tapestry5.http.services.Request)9 SymbolSource (org.apache.tapestry5.ioc.services.SymbolSource)9 TypeCoercer (org.apache.tapestry5.commons.services.TypeCoercer)8 Link (org.apache.tapestry5.http.Link)8 Binding (org.apache.tapestry5.Binding)7 ValidationException (org.apache.tapestry5.ValidationException)7 InternalPropertyConduit (org.apache.tapestry5.beanmodel.internal.InternalPropertyConduit)7 TapestryException (org.apache.tapestry5.commons.internal.util.TapestryException)7