use of jakarta.faces.event.ValueChangeEvent in project myfaces by apache.
the class ExceptionTestCase method testValueChangeListenerException1_1.
@Test
public void testValueChangeListenerException1_1() throws Exception {
UIViewRoot root = facesContext.getViewRoot();
vdl.buildView(facesContext, root, "testValueChangeListenerException1.xhtml");
root.invokeOnComponent(facesContext, "mainForm:input1", new ContextCallback() {
public void invokeContextCallback(FacesContext context, UIComponent target) {
Object submittedValue = "Hello!";
ExceptionBean bean = EasyMock.createStrictMock(ExceptionBean.class);
bean.valueChangeListenerMe((ValueChangeEvent) EasyMock.anyObject());
EasyMock.expectLastCall().andThrow(new RuntimeException());
// Setup is finished need to activate the mock
EasyMock.replay(bean);
UIInput input = (UIInput) target;
input.setSubmittedValue(submittedValue);
try {
input.processValidators(facesContext);
} catch (FacesException e) {
Assert.fail("No exception expected");
}
request.setAttribute("bean", bean);
}
});
try {
root.processUpdates(facesContext);
} catch (Throwable e) {
// JSF 2.0: publish the executor's exception (if any).
publishException(e, PhaseId.UPDATE_MODEL_VALUES, facesContext);
}
int i = 0;
for (Iterator<ExceptionQueuedEvent> it = facesContext.getExceptionHandler().getUnhandledExceptionQueuedEvents().iterator(); it.hasNext(); ) {
ExceptionQueuedEvent eqe = it.next();
Throwable e = eqe.getContext().getException();
if (e instanceof AbortProcessingException) {
Assert.fail("Unexpected exception queued");
} else {
// Expected
i++;
}
}
Assert.assertEquals(1, i);
}
use of jakarta.faces.event.ValueChangeEvent in project myfaces by apache.
the class CompositeComponentValueChangeListenerTestCase method testCompositeValueChangeListenerTarget.
@Test
public void testCompositeValueChangeListenerTarget() throws Exception {
MockAttributeBean bean = new MockAttributeBean();
facesContext.getExternalContext().getRequestMap().put("bean", bean);
UIViewRoot root = facesContext.getViewRoot();
vdl.buildView(facesContext, root, "testCompositeAttributeValueChangeListenerTarget.xhtml");
UIComponent panelGroup1 = root.findComponent("testGroup1");
Assert.assertNotNull(panelGroup1);
UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
Assert.assertNotNull(compositeComponent1);
UINamingContainer compositeComponent1inner = (UINamingContainer) compositeComponent1.findComponent("simpleAttributeMethodExpressionTarget");
Assert.assertNotNull(compositeComponent1inner);
UIInput input1 = (UIInput) compositeComponent1inner.findComponent("testComponent");
Assert.assertNotNull(input1);
Assert.assertNotNull(input1.getValueChangeListeners());
Assert.assertEquals(1, input1.getValueChangeListeners().length);
bean.setValueChangeListener1Called(false);
input1.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input1, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
UIComponent panelGroup2 = root.findComponent("testGroup2");
Assert.assertNotNull(panelGroup2);
UINamingContainer compositeComponent2 = (UINamingContainer) panelGroup2.getChildren().get(0);
Assert.assertNotNull(compositeComponent2);
UINamingContainer compositeComponent2inner = (UINamingContainer) compositeComponent2.findComponent("simpleAttributeMethodExpressionTarget");
Assert.assertNotNull(compositeComponent2inner);
UIInput input2 = (UIInput) compositeComponent2inner.findComponent("testComponent");
Assert.assertNotNull(input2);
Assert.assertNotNull(input2.getValueChangeListeners());
Assert.assertEquals(1, input2.getValueChangeListeners().length);
bean.setValueChangeListener2Called(false);
input2.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input2, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
}
use of jakarta.faces.event.ValueChangeEvent in project myfaces by apache.
the class CompositeComponentValueChangeListenerTestCase method testCompositeValueChangeListenerTarget2.
@Test
public void testCompositeValueChangeListenerTarget2() throws Exception {
MockAttributeBean bean = new MockAttributeBean();
facesContext.getExternalContext().getRequestMap().put("bean", bean);
UIViewRoot root = facesContext.getViewRoot();
vdl.buildView(facesContext, root, "testCompositeAttributeValueChangeListenerTarget2.xhtml");
UIComponent panelGroup1 = root.findComponent("testGroup1");
Assert.assertNotNull(panelGroup1);
UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
Assert.assertNotNull(compositeComponent1);
UINamingContainer compositeComponent1target = (UINamingContainer) compositeComponent1.findComponent("simpleAttributeMethodExpressionTarget");
Assert.assertNotNull(compositeComponent1target);
UIInput input1target = (UIInput) compositeComponent1target.findComponent("testComponent");
Assert.assertNotNull(input1target);
Assert.assertNotNull(input1target.getValueChangeListeners());
Assert.assertEquals(1, input1target.getValueChangeListeners().length);
bean.setValueChangeListener1Called(false);
input1target.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input1target, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
UIInput input1notarget = (UIInput) compositeComponent1target.findComponent("testComponentNoTarget");
Assert.assertNotNull(input1notarget);
Assert.assertNotNull(input1notarget.getValueChangeListeners());
Assert.assertEquals(1, input1notarget.getValueChangeListeners().length);
compositeComponent1.pushComponentToEL(facesContext, compositeComponent1);
compositeComponent1target.pushComponentToEL(facesContext, compositeComponent1target);
bean.setValueChangeListener1Called(false);
input1notarget.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input1notarget, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
compositeComponent1target.popComponentFromEL(facesContext);
compositeComponent1.popComponentFromEL(facesContext);
UINamingContainer compositeComponent1notarget = (UINamingContainer) compositeComponent1.findComponent("simpleAttributeMethodExpressionNoTarget");
Assert.assertNotNull(compositeComponent1notarget);
UIInput inputnotarget1target = (UIInput) compositeComponent1notarget.findComponent("testComponent");
Assert.assertNotNull(inputnotarget1target);
Assert.assertNotNull(inputnotarget1target.getValueChangeListeners());
Assert.assertEquals(1, inputnotarget1target.getValueChangeListeners().length);
compositeComponent1.pushComponentToEL(facesContext, compositeComponent1);
compositeComponent1notarget.pushComponentToEL(facesContext, compositeComponent1notarget);
bean.setValueChangeListener1Called(false);
inputnotarget1target.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(inputnotarget1target, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
compositeComponent1notarget.popComponentFromEL(facesContext);
compositeComponent1.popComponentFromEL(facesContext);
UIInput inputnotarget1notarget = (UIInput) compositeComponent1notarget.findComponent("testComponentNoTarget");
Assert.assertNotNull(inputnotarget1notarget);
Assert.assertNotNull(inputnotarget1notarget.getValueChangeListeners());
Assert.assertEquals(1, inputnotarget1notarget.getValueChangeListeners().length);
compositeComponent1.pushComponentToEL(facesContext, compositeComponent1);
compositeComponent1notarget.pushComponentToEL(facesContext, compositeComponent1notarget);
bean.setValueChangeListener1Called(false);
inputnotarget1notarget.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(inputnotarget1notarget, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
compositeComponent1notarget.popComponentFromEL(facesContext);
compositeComponent1.popComponentFromEL(facesContext);
UIComponent panelGroup2 = root.findComponent("testGroup2");
Assert.assertNotNull(panelGroup2);
UINamingContainer compositeComponent2 = (UINamingContainer) panelGroup2.getChildren().get(0);
Assert.assertNotNull(compositeComponent2);
UINamingContainer compositeComponent2target = (UINamingContainer) compositeComponent2.findComponent("simpleAttributeMethodExpressionTarget");
Assert.assertNotNull(compositeComponent2target);
UIInput input2target = (UIInput) compositeComponent2target.findComponent("testComponent");
Assert.assertNotNull(input2target);
Assert.assertNotNull(input2target.getValueChangeListeners());
Assert.assertEquals(1, input2target.getValueChangeListeners().length);
bean.setValueChangeListener2Called(false);
input2target.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input2target, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
UIInput input2notarget = (UIInput) compositeComponent2target.findComponent("testComponentNoTarget");
Assert.assertNotNull(input2notarget);
Assert.assertNotNull(input2notarget.getValueChangeListeners());
Assert.assertEquals(1, input2notarget.getValueChangeListeners().length);
compositeComponent2.pushComponentToEL(facesContext, compositeComponent2);
compositeComponent2target.pushComponentToEL(facesContext, compositeComponent2target);
bean.setValueChangeListener2Called(false);
input2notarget.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input2notarget, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
compositeComponent2target.popComponentFromEL(facesContext);
compositeComponent2.popComponentFromEL(facesContext);
UINamingContainer compositeComponent2notarget = (UINamingContainer) compositeComponent2.findComponent("simpleAttributeMethodExpressionNoTarget");
Assert.assertNotNull(compositeComponent2notarget);
UIInput inputnotarget2target = (UIInput) compositeComponent2notarget.findComponent("testComponent");
Assert.assertNotNull(inputnotarget2target);
Assert.assertNotNull(inputnotarget2target.getValueChangeListeners());
Assert.assertEquals(1, inputnotarget2target.getValueChangeListeners().length);
compositeComponent2.pushComponentToEL(facesContext, compositeComponent2);
compositeComponent2notarget.pushComponentToEL(facesContext, compositeComponent2notarget);
bean.setValueChangeListener2Called(false);
inputnotarget2target.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(inputnotarget2target, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
compositeComponent2notarget.popComponentFromEL(facesContext);
compositeComponent2.popComponentFromEL(facesContext);
UIInput inputnotarget2notarget = (UIInput) compositeComponent2notarget.findComponent("testComponentNoTarget");
Assert.assertNotNull(inputnotarget2notarget);
Assert.assertNotNull(inputnotarget2notarget.getValueChangeListeners());
Assert.assertEquals(1, inputnotarget2notarget.getValueChangeListeners().length);
compositeComponent2.pushComponentToEL(facesContext, compositeComponent2);
compositeComponent2notarget.pushComponentToEL(facesContext, compositeComponent2notarget);
bean.setValueChangeListener2Called(false);
inputnotarget2notarget.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(inputnotarget2notarget, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
compositeComponent2notarget.popComponentFromEL(facesContext);
compositeComponent2.popComponentFromEL(facesContext);
}
use of jakarta.faces.event.ValueChangeEvent in project myfaces by apache.
the class CompositeComponentValueChangeListenerTestCase method testCompositeValueChangeListenerNoTarget.
@Test
public void testCompositeValueChangeListenerNoTarget() throws Exception {
MockAttributeBean bean = new MockAttributeBean();
facesContext.getExternalContext().getRequestMap().put("bean", bean);
UIViewRoot root = facesContext.getViewRoot();
vdl.buildView(facesContext, root, "testCompositeAttributeValueChangeListenerNoTarget.xhtml");
UIComponent panelGroup1 = root.findComponent("testGroup1");
Assert.assertNotNull(panelGroup1);
UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
Assert.assertNotNull(compositeComponent1);
UINamingContainer compositeComponent1inner = (UINamingContainer) compositeComponent1.findComponent("simpleAttributeActionMethodExpressionNoTarget");
Assert.assertNotNull(compositeComponent1inner);
UIInput testComponentNoTarget1 = (UIInput) compositeComponent1inner.findComponent("testComponentNoTarget");
Assert.assertNotNull(testComponentNoTarget1);
Assert.assertNotNull(testComponentNoTarget1.getValueChangeListeners());
Assert.assertEquals(1, testComponentNoTarget1.getValueChangeListeners().length);
compositeComponent1.pushComponentToEL(facesContext, compositeComponent1);
compositeComponent1.pushComponentToEL(facesContext, compositeComponent1inner);
bean.setValueChangeListener1Called(false);
testComponentNoTarget1.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(testComponentNoTarget1, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
compositeComponent1inner.popComponentFromEL(facesContext);
compositeComponent1.popComponentFromEL(facesContext);
UIComponent panelGroup2 = root.findComponent("testGroup2");
Assert.assertNotNull(panelGroup2);
UINamingContainer compositeComponent2 = (UINamingContainer) panelGroup2.getChildren().get(0);
Assert.assertNotNull(compositeComponent2);
UINamingContainer compositeComponent2inner = (UINamingContainer) compositeComponent2.findComponent("simpleAttributeActionMethodExpressionNoTarget");
Assert.assertNotNull(compositeComponent2inner);
UIInput testComponentNoTarget2 = (UIInput) compositeComponent2inner.findComponent("testComponentNoTarget");
Assert.assertNotNull(testComponentNoTarget2);
Assert.assertNotNull(testComponentNoTarget2.getValueChangeListeners());
Assert.assertEquals(1, testComponentNoTarget2.getValueChangeListeners().length);
compositeComponent2.pushComponentToEL(facesContext, compositeComponent2);
compositeComponent2.pushComponentToEL(facesContext, compositeComponent2inner);
bean.setValueChangeListener2Called(false);
testComponentNoTarget2.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(testComponentNoTarget2, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
compositeComponent2inner.popComponentFromEL(facesContext);
compositeComponent2.popComponentFromEL(facesContext);
}
use of jakarta.faces.event.ValueChangeEvent in project myfaces by apache.
the class CompositeComponentValueChangeListenerTestCase method testSimpleValueChangeListenerTarget.
@Test
public void testSimpleValueChangeListenerTarget() throws Exception {
MockAttributeBean bean = new MockAttributeBean();
facesContext.getExternalContext().getRequestMap().put("bean", bean);
UIViewRoot root = facesContext.getViewRoot();
vdl.buildView(facesContext, root, "testSimpleAttributeValueChangeListenerTarget.xhtml");
UIComponent panelGroup1 = root.findComponent("testGroup1");
Assert.assertNotNull(panelGroup1);
UINamingContainer compositeComponent1 = (UINamingContainer) panelGroup1.getChildren().get(0);
Assert.assertNotNull(compositeComponent1);
UIInput input1 = (UIInput) compositeComponent1.findComponent("testComponent");
Assert.assertNotNull(input1);
Assert.assertNotNull(input1.getValueChangeListeners());
Assert.assertEquals(1, input1.getValueChangeListeners().length);
bean.setValueChangeListener1Called(false);
input1.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input1, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener1Called());
UIComponent panelGroup2 = root.findComponent("testGroup2");
Assert.assertNotNull(panelGroup2);
UINamingContainer compositeComponent2 = (UINamingContainer) panelGroup2.getChildren().get(0);
Assert.assertNotNull(compositeComponent2);
UIInput input2 = (UIInput) compositeComponent2.findComponent("testComponent");
Assert.assertNotNull(input2);
Assert.assertNotNull(input2.getValueChangeListeners());
Assert.assertEquals(1, input2.getValueChangeListeners().length);
bean.setValueChangeListener2Called(false);
input2.getValueChangeListeners()[0].processValueChange(new ValueChangeEvent(input2, "x", "y"));
Assert.assertTrue(bean.isValueChangeListener2Called());
}
Aggregations