I have come across a bug in the more recent versions of Confluence ( 5.5.1, 5.6.5, 5.7.3, 5.9.4. 5.9.5), where Boolean parameters always evaluate as true when used in user macros (or the user-macro module for plugins).
Is anyone else having this issue, or needing this functionality? If so, please vote for this bug: https://jira.atlassian.com/browse/CONF-40831
I do it this way to avoid issues.
## @param bool:title=Test|type=boolean|desc=Test|default=false #if ($parambool == true) true #end #if ($parambool == false) false #end
Yeah, I just discovered that earlier today when trying to find a workaround. Booleans in user macros were actually evaluating as true/null in earlier versions, but now evaluate as true/false. So the classic construct used below (which should work per Velocity docs), is actually only testing not_null/null:
## @param debug:title=Debug Mode|type=boolean|default=false ## Print default set #if($paramdebug) BOOLEAN VARIABLE IS TRUE #end #if(!$paramdebug) BOOLEAN VARIABLE IS FALSE #end
So the result is that it worked in early versions, but now always evaluates as not_null.
So I am going to rewrite my macros using the explicit syntax you suggested.
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.