use of com.vaadin.flow.data.binder.Result in project linkki by linkki-framework.
the class BindLabelValueAspectDefinitionTest method testCreateComponentValueSetter_UsesCustomConverter.
@Test
void testCreateComponentValueSetter_UsesCustomConverter() {
LinkkiText label = new LinkkiText();
Consumer<Object> valueSetter = new BindLabelValueAspectDefinition().createComponentValueSetter(new NoLabelComponentWrapper(label));
LinkkiConverterRegistry converterRegistry = LinkkiConverterRegistry.DEFAULT.with(new Converter<String, FooBar>() {
private static final long serialVersionUID = 1L;
@Override
public Result<FooBar> convertToModel(String value, ValueContext context) {
return Result.ok(FooBar.valueOf(value));
}
@Override
public String convertToPresentation(FooBar value, ValueContext context) {
return value == FooBar.FOO ? "Foo" : "Bar";
}
});
VaadinSession vaadinSession = mock(VaadinSession.class);
when(vaadinSession.getAttribute(LinkkiConverterRegistry.class)).thenReturn(converterRegistry);
VaadinSession.setCurrent(vaadinSession);
valueSetter.accept(FooBar.FOO);
assertThat(label.getText(), is("Foo"));
}
use of com.vaadin.flow.data.binder.Result in project linkki by linkki-framework.
the class LabelValueAspectDefinitionTest method testCreateComponentValueSetter_UsesCustomConverter.
@Test
public void testCreateComponentValueSetter_UsesCustomConverter() {
LinkkiText label = new LinkkiText();
Consumer<Object> valueSetter = new LabelValueAspectDefinition(false).createComponentValueSetter(new NoLabelComponentWrapper(label));
LinkkiConverterRegistry converterRegistry = LinkkiConverterRegistry.DEFAULT.with(new Converter<String, FooBar>() {
private static final long serialVersionUID = 1L;
@Override
public Result<FooBar> convertToModel(String value, ValueContext context) {
return Result.ok(FooBar.valueOf(value));
}
@Override
public String convertToPresentation(FooBar value, ValueContext context) {
return value == FooBar.FOO ? "Foo" : "Bar";
}
});
VaadinSession vaadinSession = mock(VaadinSession.class);
when(vaadinSession.getAttribute(LinkkiConverterRegistry.class)).thenReturn(converterRegistry);
VaadinSession.setCurrent(vaadinSession);
valueSetter.accept(FooBar.FOO);
assertThat(label.getText(), is("Foo"));
}
Aggregations