foundeo / toscript

Converts Tag based CFML to CFML Script
GNU General Public License v3.0
20 stars 9 forks source link

cfcase delimited case items incorrectly translated #39

Open zspitzer opened 5 years ago

zspitzer commented 5 years ago

tag based cf supports multiple delimiters, script requires a separate case statement for each value

https://trycf.com/gist/7dbd3abca9e8cc10fd427e2ac13b1df3/lucee5?theme=monokai

<cfswitch` expression="3">
    <cfcase value="1,2,3">
        <cfoutput>it's a positive value</cfoutput>
    </cfcase>
    <cfcase value="0">
        <cfoutput>a zero</cfoutput>
    </cfcase>
    <cfdefaultcase>
        <cfoutput>don't know</cfoutput>
    </cfdefaultcase>
</cfswitch>
<hr>
<cfscript>
    switch (3) {
        case  "1,2,3":
            writeOutput("it's a positive value");
            break;
        case 0:
            writeOutput("it's 0");
            break;
        default:
            writeOutput("don't know");
            break;
    }
    writeOutput("<hr>");
    switch (3) {
// correct syntax
        case  "1":
        case  "2":
        case  "3":
            writeOutput("it's a positive value");
            break;
        case 0:
            writeOutput("it's 0");
            break;
        default:
            writeOutput("don't know");
            break;
    }
</cfscript>