archives

« Bugzilla Issues Index

#26 — S13.2.2_A18_T1.js and S15.2.2.1_A2_T4 are invalid (Sputnik to Test262 conversion issue)


S13.2.2_A18_T1.js contains the following:
var callee=0, b;
var __obj={callee:"a"};

result=(function(){
with (arguments){
callee=1;
b=true;
}
return arguments;
})(__obj);

//...
if (!(this.b)) { $ERROR(...)}

The Test262 converter tool wraps all of the snippet above in a test case function attached to a test metadata object. Problem is the final assert in this test case actually depends upon the entire snippet being defined at the global level. That is, in the converted test the line "var callee=0, b;" actually creates a local 'b' object instead of a 'b' attached to the global scope => any conformant ES5 implementation will now fail this.

Disabling the test until we get the converter refactored to account for test cases like this.


Same scoping issue for S15.2.2.1_A2_T4.js which I've disabled as well.


Fix for this one might be keeping the semantics of the original test with the Sputnik Test Conversion tool. Already a bug on this.


The following are all disabled due to this:
<test id="S13.2.2_A18_T1">https://bugs.ecmascript.org/show_bug.cgi?id=26</test>
<test id="S13.2.2_A18_T2">https://bugs.ecmascript.org/show_bug.cgi?id=26</test>
<test id="S13.2.2_A19_T7">https://bugs.ecmascript.org/show_bug.cgi?id=26</test>
<test id="S15.2.2.1_A2_T4">https://bugs.ecmascript.org/show_bug.cgi?id=26</test>

Now that the Sputnik converted has been replaced, this may be a non-issue. Checking now...


Verified that the new test262 converter fixed this. Re-enabled the tests in Hg and the changes will go live with the next test262 website update (later this month).