Author: wglass
Date: Fri Sep 23 14:27:22 2005
New Revision: 291204
URL: http://svn.apache.org/viewcvs?rev=291204&view=rev
Log:
silent reference now works when toString of the context returns null. (was
throwing an exception. Thanks to Llwellyn Falco and Dan Powell for the patch!
Added:
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/provider/NullToStringObject.java
Modified:
jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/TemplateTestCase.java
jakarta/velocity/core/trunk/test/templates/compare/diabolical.cmp
jakarta/velocity/core/trunk/test/templates/diabolical.vm
Modified:
jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
URL:
http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java?rev=291204&r1=291203&r2=291204&view=diff
==============================================================================
---
jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
(original)
+++
jakarta/velocity/core/trunk/src/java/org/apache/velocity/runtime/parser/node/ASTReference.java
Fri Sep 23 14:27:22 2005
@@ -171,11 +171,6 @@
for (int i = 0; i < numChildren; i++)
{
result = jjtGetChild(i).execute(result,context);
-
- if (result == null)
- {
- return null;
- }
}
return result;
@@ -262,7 +257,7 @@
* if value is null...
*/
- if (value == null)
+ if ( value == null || (value.toString() == null) )
{
/*
* write prefix twice, because it's schmoo, so the \ don't escape
each other...
Modified:
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/TemplateTestCase.java
URL:
http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/TemplateTestCase.java?rev=291204&r1=291203&r2=291204&view=diff
==============================================================================
---
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/TemplateTestCase.java
(original)
+++
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/TemplateTestCase.java
Fri Sep 23 14:27:22 2005
@@ -30,6 +30,7 @@
import org.apache.velocity.app.FieldMethodizer;
import org.apache.velocity.runtime.RuntimeSingleton;
import org.apache.velocity.test.provider.BoolObj;
+import org.apache.velocity.test.provider.NullToStringObject;
import org.apache.velocity.test.provider.TestNumber;
import org.apache.velocity.test.provider.TestProvider;
@@ -173,6 +174,8 @@
nullList.add("d");
context.put("nullList", nullList);
+ // test silent references with a null tostring
+ context.put("nullToString",new NullToStringObject());
}
/**
Added:
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/provider/NullToStringObject.java
URL:
http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/provider/NullToStringObject.java?rev=291204&view=auto
==============================================================================
---
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/provider/NullToStringObject.java
(added)
+++
jakarta/velocity/core/trunk/src/test/org/apache/velocity/test/provider/NullToStringObject.java
Fri Sep 23 14:27:22 2005
@@ -0,0 +1,30 @@
+package org.apache.velocity.test.provider;
+
+/*
+ * Copyright 2001-2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License")
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Used to confirm that a null to string is processed properly
+ * @author <a href="mailto:[EMAIL PROTECTED]">Will Glass-Husain</a>
+ * @version $Id: ForeachMethodCallHelper.java 290942 2005-09-22 13:32:34Z
henning $
+ */
+public class NullToStringObject
+{
+ public String toString()
+ {
+ return null;
+ }
+}
Modified: jakarta/velocity/core/trunk/test/templates/compare/diabolical.cmp
URL:
http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/test/templates/compare/diabolical.cmp?rev=291204&r1=291203&r2=291204&view=diff
==============================================================================
--- jakarta/velocity/core/trunk/test/templates/compare/diabolical.cmp (original)
+++ jakarta/velocity/core/trunk/test/templates/compare/diabolical.cmp Fri Sep
23 14:27:22 2005
@@ -43,3 +43,8 @@
foobar
#0F
+
+$nullToString
+$nullToString.toString()
+
+
Modified: jakarta/velocity/core/trunk/test/templates/diabolical.vm
URL:
http://svn.apache.org/viewcvs/jakarta/velocity/core/trunk/test/templates/diabolical.vm?rev=291204&r1=291203&r2=291204&view=diff
==============================================================================
--- jakarta/velocity/core/trunk/test/templates/diabolical.vm (original)
+++ jakarta/velocity/core/trunk/test/templates/diabolical.vm Fri Sep 23
14:27:22 2005
@@ -60,3 +60,8 @@
#set($a=1)
#0F
+
+$nullToString
+$nullToString.toString()
+$!nullToString
+$!nullToString.toString()
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]