| <#-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you 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. |
| --> |
| <@noOutput> |
| <@assertFails message="true,false">${true}</@> |
| <@assertFails message="true,false">${false}</@> |
| <@assertFails message="true,false">${"" + true}</@> |
| <@assertFails message="true,false">${"" + false}</@> |
| <@assertFails message="true,false">${true?upper_case}</@> |
| <@assertFails message="true,false">${false?upper_case}</@> |
| <@assertEquals expected="true" actual=true?string /> |
| <@assertEquals expected="false" actual=false?string /> |
| <@assertEquals expected="true" actual=true?c /> |
| <@assertEquals expected="false" actual=false?c /> |
| <@assertEquals expected="t" actual=true?string('t', 'f') /> |
| <@assertEquals expected="f" actual=false?string('t', 'f') /> |
| <#setting boolean_format = 'true,false'> |
| <@assertFails message="true,false">${true}</@> |
| <#setting boolean_format = 'c'> |
| <@assertEquals expected="true" actual=true?string /> |
| <@assertEquals expected="false" actual=false?string /> |
| <@assertEquals expected="true" actual="${true}" /> |
| <@assertEquals expected="false" actual="${false}" /> |
| |
| <#setting boolean_format = 'ja,nein'> |
| <@assertEquals expected="ja" actual="" + true /> |
| <@assertEquals expected="nein" actual="" + false /> |
| <@assertEquals expected="JA" actual=true?upper_case /> |
| <@assertEquals expected="NEIN" actual=false?upper_case /> |
| <@assertEquals expected="ja" actual=true?string /> |
| <@assertEquals expected="nein" actual=false?string /> |
| <@assertEquals expected="true" actual=true?c /> |
| <@assertEquals expected="false" actual=false?c /> |
| <@assertEquals expected="t" actual=true?string('t', 'f') /> |
| <@assertEquals expected="f" actual=false?string('t', 'f') /> |
| |
| <#setting boolean_format = 'y,n'> |
| <#assign x = false> |
| <#assign n = 123><#assign m = { x: 'foo', n: 'bar' }><@assertEquals actual=m['n'] + m['123'] expected='foobar' /> |
| <@assertFails exception="UnexpectedTypeException">${m[false]}</@> |
| <@assertFails message="can't compare">${x == 'false'}</@> |
| <@assertFails message="can't compare">${x != 'false'}</@> |
| <@assertFails message="can't convert">${booleanVsStringMethods.expectsString(x)}</@> |
| <@assertEquals actual=booleanVsStringMethods.expectsString(booleanAndString) expected="theStringValue" /> |
| <@assertEquals actual=booleanVsStringMethods.expectsBoolean(x) expected=false /> |
| <@assertEquals actual=booleanVsStringMethods.expectsBoolean(booleanAndString) expected=true /> |
| <@assertEquals actual=booleanVsStringMethods.overloaded(x) expected="boolean false" /> |
| <@assertEquals actual=123?upper_case expected="123" /> |
| <@assertEquals actual=true?upper_case expected="Y" /> |
| |
| </@noOutput> |
| <#escape x as x?upper_case> |
| <#assign x = true>${x} ${true} ${true?string} |
| <#assign x = false>${x} ${false} ${false?string} |
| <#noescape><#assign x = true>${x} ${true} ${true?string}</#noescape> |
| </#escape> |
| <#assign x = false>${x} ${false} ${false?string} |
| <#assign x = true>${x} ${true} ${true?string} |
| <#assign x = false>${x} ${false} ${false?string} |
| ${'str:' + x} ${'str:' + false} |
| ${x?string('ja', 'nein')} ${true?string('ja', 'nein')} |
| ${beansBoolean} ${beansBoolean?string} |
| ${booleanAndString} ${booleanAndString?string} |
| |
| <#setting boolean_format = 'y,n'> |
| <@assertEquals actual='true'?boolean expected=true /> |
| <@assertEquals actual='false'?boolean expected=false /> |
| <@assertEquals actual='y'?boolean expected=true /> |
| <@assertEquals actual='n'?boolean expected=false /> |
| <@assertFails message="can't convert">${'N'?boolean}</@> |
| <@assertFails message="can't convert">${'True'?boolean}</@> |
| <@assertFails message="can't convert">${0?boolean}</@> |
| <@assertFails message="sequence">${[]?boolean}</@> |