You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by aw...@apache.org on 2007/07/26 18:04:10 UTC

svn commit: r559867 - in /myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src: main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java

Author: awiner
Date: Thu Jul 26 09:04:08 2007
New Revision: 559867

URL: http://svn.apache.org/viewvc?view=rev&rev=559867
Log:
TRINIDAD-128: UIXComponentBase.setValueExpression(name, null) throws NPE
- Fix on 1.2.2 branch, and add test

Modified:
    myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
    myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java?view=diff&rev=559867&r1=559866&r2=559867
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/component/UIXComponentBase.java Thu Jul 26 09:04:08 2007
@@ -236,7 +236,7 @@
     if (name == null)
       throw new NullPointerException();
 
-    if (expression.isLiteralText())
+    if ((expression != null) && expression.isLiteralText())
     {
       ELContext context =
           FacesContext.getCurrentInstance().getELContext();

Modified: myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java?view=diff&rev=559867&r1=559866&r2=559867
==============================================================================
--- myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java (original)
+++ myfaces/trinidad/branches/pre-1.2.2-branch/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/component/UIXInputTest.java Thu Jul 26 09:04:08 2007
@@ -18,6 +18,7 @@
  */
 package org.apache.myfaces.trinidad.component;
 
+import javax.el.ValueExpression;
 import javax.faces.el.ValueBinding;
 
 import org.jmock.Mock;
@@ -68,6 +69,23 @@
     assertNull(input.getSubmittedValue());
     assertNull(input.getLocalValue());
     assertNull(input.getValue());
+  }
+
+
+  public void testValueExpressions()
+  {
+    Mock mockExpression = mock(ValueExpression.class);
+    ValueExpression expr = (ValueExpression) mockExpression.proxy();
+    mockExpression.expects(atLeastOnce()).method("getValue").will(returnValue("socks"));
+    mockExpression.expects(atLeastOnce()).method("isLiteralText").will(returnValue(Boolean.TRUE));
+
+    UIXInput input = new UIXInput();
+    input.setValueExpression("value", expr);
+    assertEquals("socks", input.getValue());
+    input.setValue("shoes");
+    assertEquals("shoes", input.getValue());
+    input.setValueExpression("value", null);
+    assertEquals("shoes", input.getValue());    
   }
 
   /**