« Return to Thread: AbstractJsfTestCase question

Re: AbstractJsfTestCase question

by Venkataganesh Thoppae :: Rate this Message:

Reply to Author | View in Thread

Actually I missed that part while typing a sample code.
But here is a clean test case runnable if you have shale-test-x.jar.
Appreciate if someone could try this on their box.

Two files are attached.
MyTestCase.java has test cases defined.
SomeBean is a simple POJO.

Thanks

On Tue, May 20, 2008 at 10:57 AM, Chris Keefer <chris@...> wrote:
I think in JSF 1.1 you have to get the value from a ValueBinding. See below.

@Test
public void test1 {
   ValueBinding binding = facesContext.getApplication().createValueBinding("#{someBean.prop[0]}"};
   String val = (String) binding.getValue(facesContext);
   assertEquals(val, "M");
}


Or you can try the VariableResolver like so:

@Test
public void test1 {
   String val = facesContext.getApplication().getVariableResolver().resolveVariable(facesContext, "#{someBean.prop[0]}");
   assertEquals(val, "M");
}

Hope this helps.

--Chris




On May 19, 2008, at 1:06 PM, Venkataganesh Thoppae wrote:

Yes, I know Shale doesn't read faces-config.
Here is a sample implementation.

public class MyTestCase extends AbstractJsfTestCase {
//A valid someBean object is created in the request scope in setUp()

@Test
public void test1 {
   String val=
(String)facesContext.getApplication().createValueBinding("#{someBean.prop[0]}"};
   assertEquals(val, "M");
}
}

The error I get is:
javax.faces.el.PropertyNotFoundException: prop0
   at
org.apache.shale.test.mock.MockPropertyResolver.descriptor(MockPropertyResolver.java:213)
   at
org.apache.shale.test.mock.MockPropertyResolver.getValue(MockPropertyResolver.java:69)
   at
org.apache.shale.test.mock.MockValueBinding.getValue(MockValueBinding.java:126)






Regards



On Mon, May 19, 2008 at 12:08 PM, Kito D. Mann <kmann@...> wrote:

Hmm... What errors are you getting? Or is it just returning null? If it's
just returning null, remember that you must manually but the bean in the
proper scope - Shale doesn't read faces-config.

Sent from my iPhone


On May 19, 2008, at 11:07 AM, "Venkataganesh Thoppae" <tkvganesh@...>
wrote:

 New user of Shale Test framework. I'm trying to write some test cases for
JSF 1.1 implementation using AbstractJsfTestCase.

Experiencing few problems while trying to resolve some EL expressions
programmatically.
- MockVariableResolver not able to resolve array elements like
#{someBean.property[0]}
- How would I resolve an expression like #{someBean.name == "John Doe"}
- How could I invoke static EL functions like #{prefix:fnName}

Advance Thanks for your help.




--




--
Regards
Venkat Thoppae
(240)446-7632

 « Return to Thread: AbstractJsfTestCase question