Skip to content

Commit

Permalink
undo == to === for three tests
Browse files Browse the repository at this point in the history
This is a partial revert of 5a9fa24

While overall beneficial, it seems that using the identity operator actually breaks those three tests. We have looked into the spec and seems that all three should not pass with the identity operator in place. There might be a better way to fix this, but in the current state, those tests fail on several engines (tested on our own GraalVM 20.0, but also on FF 45, Chrome 80, Node 12.x). I thus suggest to just undo the changes for the moment.
  • Loading branch information
wirthi authored and ljharb committed Apr 30, 2020
1 parent 4f9c321 commit aea5080
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 9 deletions.
6 changes: 3 additions & 3 deletions data-es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -17621,7 +17621,7 @@ exports.tests = [

return typeof symbolObject === "object" &&
symbolObject instanceof Symbol &&
symbolObject === symbol &&
symbolObject == symbol && // eslint-disable-line eqeqeq
symbolObject !== symbol &&
symbolObject.valueOf() === symbol;
*/},
Expand Down Expand Up @@ -18386,7 +18386,7 @@ exports.tests = [

a >= 0;
b in {};
c === 0;
c == 0; // eslint-disable-line eqeqeq
return passed === 3;
*/},
res: {
Expand Down Expand Up @@ -21206,7 +21206,7 @@ exports.tests = [
var c = new C(true);
return c instanceof Boolean
&& c instanceof C
&& c === true;
&& c == true; // eslint-disable-line eqeqeq
*/},
res: {
safari10: true,
Expand Down
12 changes: 6 additions & 6 deletions es6/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -63984,10 +63984,10 @@

return typeof symbolObject === "object" &&
symbolObject instanceof Symbol &&
symbolObject === symbol &&
symbolObject == symbol && // eslint-disable-line eqeqeq
symbolObject !== symbol &&
symbolObject.valueOf() === symbol;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("449");try{return Function("asyncTestPassed","\nvar symbol = Symbol();\nvar symbolObject = Object(symbol);\n\nreturn typeof symbolObject === \"object\" &&\n symbolObject instanceof Symbol &&\n symbolObject === symbol &&\n symbolObject !== symbol &&\n symbolObject.valueOf() === symbol;\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("449");return Function("asyncTestPassed","'use strict';"+"\nvar symbol = Symbol();\nvar symbolObject = Object(symbol);\n\nreturn typeof symbolObject === \"object\" &&\n symbolObject instanceof Symbol &&\n symbolObject === symbol &&\n symbolObject !== symbol &&\n symbolObject.valueOf() === symbol;\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("449");try{return Function("asyncTestPassed","\nvar symbol = Symbol();\nvar symbolObject = Object(symbol);\n\nreturn typeof symbolObject === \"object\" &&\n symbolObject instanceof Symbol &&\n symbolObject == symbol && // eslint-disable-line eqeqeq\n symbolObject !== symbol &&\n symbolObject.valueOf() === symbol;\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("449");return Function("asyncTestPassed","'use strict';"+"\nvar symbol = Symbol();\nvar symbolObject = Object(symbol);\n\nreturn typeof symbolObject === \"object\" &&\n symbolObject instanceof Symbol &&\n symbolObject == symbol && // eslint-disable-line eqeqeq\n symbolObject !== symbol &&\n symbolObject.valueOf() === symbol;\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown obsolete" data-browser="es6tr">?</td>
<td class="unknown obsolete" data-browser="tr">?</td>
Expand Down Expand Up @@ -67522,9 +67522,9 @@

a &gt;= 0;
b in {};
c === 0;
c == 0; // eslint-disable-line eqeqeq
return passed === 3;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("474");try{return Function("asyncTestPassed","\nvar a = {}, b = {}, c = {};\nvar passed = 0;\na[Symbol.toPrimitive] = function(hint) { passed += hint === \"number\"; return 0; };\nb[Symbol.toPrimitive] = function(hint) { passed += hint === \"string\"; return 0; };\nc[Symbol.toPrimitive] = function(hint) { passed += hint === \"default\"; return 0; };\n\na >= 0;\nb in {};\nc === 0;\nreturn passed === 3;\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("474");return Function("asyncTestPassed","'use strict';"+"\nvar a = {}, b = {}, c = {};\nvar passed = 0;\na[Symbol.toPrimitive] = function(hint) { passed += hint === \"number\"; return 0; };\nb[Symbol.toPrimitive] = function(hint) { passed += hint === \"string\"; return 0; };\nc[Symbol.toPrimitive] = function(hint) { passed += hint === \"default\"; return 0; };\n\na >= 0;\nb in {};\nc === 0;\nreturn passed === 3;\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("474");try{return Function("asyncTestPassed","\nvar a = {}, b = {}, c = {};\nvar passed = 0;\na[Symbol.toPrimitive] = function(hint) { passed += hint === \"number\"; return 0; };\nb[Symbol.toPrimitive] = function(hint) { passed += hint === \"string\"; return 0; };\nc[Symbol.toPrimitive] = function(hint) { passed += hint === \"default\"; return 0; };\n\na >= 0;\nb in {};\nc == 0; // eslint-disable-line eqeqeq\nreturn passed === 3;\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("474");return Function("asyncTestPassed","'use strict';"+"\nvar a = {}, b = {}, c = {};\nvar passed = 0;\na[Symbol.toPrimitive] = function(hint) { passed += hint === \"number\"; return 0; };\nb[Symbol.toPrimitive] = function(hint) { passed += hint === \"string\"; return 0; };\nc[Symbol.toPrimitive] = function(hint) { passed += hint === \"default\"; return 0; };\n\na >= 0;\nb in {};\nc == 0; // eslint-disable-line eqeqeq\nreturn passed === 3;\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown obsolete" data-browser="es6tr">?</td>
<td class="unknown obsolete" data-browser="tr">?</td>
Expand Down Expand Up @@ -85852,8 +85852,8 @@
var c = new C(true);
return c instanceof Boolean
&amp;&amp; c instanceof C
&amp;&amp; c === true;
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("606");try{return Function("asyncTestPassed","\nclass C extends Boolean {}\nvar c = new C(true);\nreturn c instanceof Boolean\n && c instanceof C\n && c === true;\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("606");return Function("asyncTestPassed","'use strict';"+"\nclass C extends Boolean {}\nvar c = new C(true);\nreturn c instanceof Boolean\n && c instanceof C\n && c === true;\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
&amp;&amp; c == true; // eslint-disable-line eqeqeq
">test(function(){try{var asyncTestPassed=global.__asyncPassedFn && __asyncPassedFn("606");try{return Function("asyncTestPassed","\nclass C extends Boolean {}\nvar c = new C(true);\nreturn c instanceof Boolean\n && c instanceof C\n && c == true; // eslint-disable-line eqeqeq\n ")(asyncTestPassed)}catch(e){asyncTestPassed=global.__strictAsyncPassedFn && __strictAsyncPassedFn("606");return Function("asyncTestPassed","'use strict';"+"\nclass C extends Boolean {}\nvar c = new C(true);\nreturn c instanceof Boolean\n && c instanceof C\n && c == true; // eslint-disable-line eqeqeq\n ")(asyncTestPassed)&&"Strict"}}catch(e){return false;}}());
</script></td>
<td class="unknown obsolete" data-browser="es6tr">?</td>
<td class="unknown obsolete" data-browser="tr">?</td>
Expand Down

0 comments on commit aea5080

Please sign in to comment.