AbstractJsfTestCase question
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.
Re: AbstractJsfTestCase question
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" <[EMAIL PROTECTED] > 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.
Re: AbstractJsfTestCase question
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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> > 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. >> > --
Re: AbstractJsfTestCase question
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 <[EMAIL PROTECTED]> 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" <[EMAIL PROTECTED]> 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. --
Re: AbstractJsfTestCase question
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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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" < >>> [EMAIL PROTECTED]> >>> 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
Re: AbstractJsfTestCase question
The shale mock value binding has limited EL support. [] #parse - http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockValueBinding.java?view=markup -- Original message -- From: "Venkataganesh Thoppae" <[EMAIL PROTECTED]> > 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 <[EMAIL PROTECTED]> 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.ja > va: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 <[EMAIL PROTECTED]> 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" < > >>> [EMAIL PROTECTED]> > >>> 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 --- Begin Message --- 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 <[EMAIL PROTECTED]> 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(MockPr
Re: AbstractJsfTestCase question
Fine. Understandable. Thanks. On Tue, May 20, 2008 at 4:07 PM, Gary VanMatre <[EMAIL PROTECTED]> wrote: > The shale mock value binding has limited EL support. > > [] #parse - > http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/mock/MockValueBinding.java?view=markup > -- Original message -- > From: "Venkataganesh Thoppae" <[EMAIL PROTECTED]> > > 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 <[EMAIL PROTECTED]> 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.ja > > va: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 <[EMAIL PROTECTED]> > 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" < > > >>> [EMAIL PROTECTED]> > > >>> 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 func