diff --git a/dlls/jscript/cc_parser.y b/dlls/jscript/cc_parser.y index 34ee90cd95660db099c174bb2f07c0ed25c74106..b22aef827bab84fde7c21e50006b7d9c41abf708 100644 --- a/dlls/jscript/cc_parser.y +++ b/dlls/jscript/cc_parser.y @@ -181,7 +181,7 @@ CCBitwiseANDExpression CCEqualityExpression : CCRelationalExpression { $$ = $1; } | CCEqualityExpression tEQ CCRelationalExpression - { FIXME("'==' expression not implemented\n"); ctx->hres = E_NOTIMPL; YYABORT; } + { $$ = ccval_bool(get_ccnum($1) == get_ccnum($3)); } | CCEqualityExpression tNEQ CCRelationalExpression { $$ = ccval_bool(get_ccnum($1) != get_ccnum($3)); } | CCEqualityExpression tEQEQ CCRelationalExpression diff --git a/dlls/jscript/tests/cc.js b/dlls/jscript/tests/cc.js index 7ce3682575f801c4ed88ae9e94a71db369ade5da..09ef285b2cedb5e625ed27086097815172850e00 100644 --- a/dlls/jscript/tests/cc.js +++ b/dlls/jscript/tests/cc.js @@ -146,6 +146,15 @@ ok(@test === -1, "@test = " + @test); @set @test = (true-@_jscript) ok(@test === 0, "@test = " + @test); +@set @test = (true==1) +ok(@test === true, "@test = " + @test); + +@set @test = (1==false+1) +ok(@test === true, "@test = " + @test); + +@set @test = (1+true==false+1) +ok(@test === false, "@test = " + @test); + @if (false) this wouldn not parse "@end