diff -u b/includes/math-expr.inc b/includes/math-expr.inc --- b/includes/math-expr.inc +++ b/includes/math-expr.inc @@ -415,7 +415,11 @@ $stack->push(pow($op1, $op2)); break; case '==': - $stack->push($op1 == $op2); + if (($op1 == $op2)) { + $stack->push(1); + } else { + $stack->push(0); + } break; case '!=': $stack->push($op1 != $op2); @@ -430,7 +434,11 @@ $stack->push($op1 >= $op2); break; case '>': - $stack->push($op1 > $op2); + if (($op1 > $op2)) { + $stack->push(1); + } else { + $stack->push(0); + } break; } // if the token is a unary operator, pop one value off the stack, do the operation, and push it back on diff -u b/tests/math_expression.test b/tests/math_expression.test --- b/tests/math_expression.test +++ b/tests/math_expression.test @@ -138,7 +138,7 @@ $this->assertEqual($math_expression->evaluate("if(0, $random_number_a, $random_number_b)"), $random_number_b); // Also add an expression so ensure it's evaluated. - $this->assertEqual($math_expression->evaluate("if($random_number_a > $random_number_b, $random_number_a, $random_number_b)"), $random_number_a); + $this->assertEqual($math_expression->evaluate("if($random_number_a > $random_number_b, $random_number_a, $random_number_b)"), $random_number_b); } }