« Return to Thread: AbstractJsfTestCase question

Re: AbstractJsfTestCase question

by Chris Keefer :: Rate this Message:

Reply to Author | View in Thread

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.
>>>
>>
>
>
> --

 « Return to Thread: AbstractJsfTestCase question