diff options
author | Claude Brisson <claude@renegat.net> | 2021-03-03 13:07:34 +0100 |
---|---|---|
committer | Claude Brisson <claude@renegat.net> | 2021-03-03 13:07:34 +0100 |
commit | dd9b7242dc690b5dc341542087904b9606fa6a71 (patch) | |
tree | 0a4d2bf0cd039a3202c4da8bdd69f9c15e9c56df /velocity-engine-core/src/test | |
parent | ba7d9596361f8b8919e10263841b9ac2e4989073 (diff) | |
download | apache-velocity-engine-dd9b7242dc690b5dc341542087904b9606fa6a71.tar.gz |
Fix references alternate values implementation, with some more test cases
Diffstat (limited to 'velocity-engine-core/src/test')
2 files changed, 25 insertions, 2 deletions
diff --git a/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java b/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java index 877b93ac..a141c065 100644 --- a/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java +++ b/velocity-engine-core/src/test/java/org/apache/velocity/test/AlternateValuesTestCase.java @@ -47,4 +47,15 @@ public class AlternateValuesTestCase extends BaseTestCase assertEvalEquals("<1.1>", "<${foo|1.1}>"); } + public void testComplexEval() + { + assertEvalEquals("<no date tool>", "<${date.format('medium', $date.date)|'no date tool'}>"); + assertEvalEquals("true", "#set($val=false)${val.toString().replace(\"false\", \"true\")|'so what'}"); + assertEvalEquals("so what", "#set($foo='foo')${foo.contains('bar')|'so what'}"); + assertEvalEquals("so what", "#set($val=false)${val.toString().contains('bar')|'so what'}"); + assertEvalEquals("true", "#set($val=false)${val.toString().contains('false')|'so what'}"); + assertEvalEquals("", "$!{null|$null}"); + assertEvalEquals("null", "$!{null|'null'}"); + assertEvalEquals("so what", "#set($spaces=' ')${spaces.trim()|'so what'}"); + } } diff --git a/velocity-engine-core/src/test/java/org/apache/velocity/test/StrictAlternateValuesTestCase.java b/velocity-engine-core/src/test/java/org/apache/velocity/test/StrictAlternateValuesTestCase.java index d5c7ff4e..36fe903b 100644 --- a/velocity-engine-core/src/test/java/org/apache/velocity/test/StrictAlternateValuesTestCase.java +++ b/velocity-engine-core/src/test/java/org/apache/velocity/test/StrictAlternateValuesTestCase.java @@ -56,9 +56,21 @@ public class StrictAlternateValuesTestCase extends BaseTestCase assertEvalEquals("<foo>", "<${foo|'foo'}>"); assertEvalEquals("bar", "#set($bar='bar')${foo|$bar}"); assertEvalEquals("bar", "#set($bar='bar')${foo|${bar}}"); - assertEvalException ("${foo.bar.baz()[5]|'hop'}", VelocityException.class); + assertEvalException("${foo.bar.baz()[5]|'hop'}", VelocityException.class); assertEvalEquals("{foo}", "{${foo|'foo'}}"); - assertEvalException ("$foo", VelocityException.class); + assertEvalException("$foo", VelocityException.class); + } + + public void testComplexEval() + { + assertEvalException("<${date.format('medium', $date.date)|'no date tool'}>", VelocityException.class); + assertEvalEquals("true", "#set($val=false)${val.toString().replace(\"false\", \"true\")|'so what'}"); + assertEvalEquals("so what", "#set($foo='foo')${foo.contains('bar')|'so what'}"); + assertEvalEquals("so what", "#set($val=false)${val.toString().contains('bar')|'so what'}"); + assertEvalEquals("true", "#set($val=false)${val.toString().contains('false')|'so what'}"); + assertEvalException("$!{null|$null}", VelocityException.class); + assertEvalEquals("null", "$!{null|'null'}"); + assertEvalEquals("so what", "#set($spaces=' ')${spaces.trim()|'so what'}"); } } |