<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>ES5conform Issue Tracker Rss Feed</title><link>http://es5conform.codeplex.com/WorkItem/List.aspx</link><description>ES5conform Issue Tracker Rss Description</description><item><title>Created Issue: 15.12.3-11-6.js - typo precodition [30361]</title><link>http://es5conform.codeplex.com/workitem/30361</link><description>I&amp;#39;m emulating the run of tests in my unit test system and do not take into account situation when the precondition is not defined. This test - TestCases&amp;#47;chapter15&amp;#47;15.12&amp;#47;15.12.3&amp;#47;15.12.3-11-6.js - fails and after looking at the code I see that there is a precondition function just there is the typo in the property name - &amp;#39;precodition&amp;#39;.&lt;br /&gt;</description><author>efreeti</author><pubDate>Thu, 17 Mar 2011 09:35:57 GMT</pubDate><guid isPermaLink="false">Created Issue: 15.12.3-11-6.js - typo precodition [30361] 20110317093557A</guid></item><item><title>Commented Issue: Test 7.8.4-1-s does not correctly check whether octal escape sequences are allowed [28578]</title><link>http://es5conform.codeplex.com/workitem/28578</link><description>The spec does not allow octal escape sequences within strict mode code.  Test 7.8.4-1-s is designed to check this - however, I believe it fails to do so.&lt;br /&gt;&lt;br /&gt;The code in question is this&amp;#58; eval&amp;#40;&amp;#39; &amp;#34;asterisk&amp;#58; &amp;#92;052&amp;#34;&amp;#59; &amp;#34;use strict&amp;#34;&amp;#59;&amp;#39;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;The eval function takes a single string and by the time it reaches that point, the escape sequences have been eliminated.  Thus the octal escape sequence appears &amp;#42;outside&amp;#42; strict mode code &amp;#40;i.e. in the context of the testcase function&amp;#41; and thus it should be allowed.&lt;br /&gt;&lt;br /&gt;Also debatable is whether octal escape sequences should be disallowed before the &amp;#34;use strict&amp;#34; directive is encountered.  This seems like it would require the lexer to do a second pass over the code solely to resolve escape sequences.&lt;br /&gt;Comments: ** Comment from web user: mmaly ** &lt;p&gt;We should commit the relevant part of the patch attached to http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141.&lt;/p&gt;</description><author>mmaly</author><pubDate>Fri, 04 Feb 2011 22:36:48 GMT</pubDate><guid isPermaLink="false">Commented Issue: Test 7.8.4-1-s does not correctly check whether octal escape sequences are allowed [28578] 20110204103648P</guid></item><item><title>Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084]</title><link>http://es5conform.codeplex.com/workitem/29084</link><description>The tests 11.4.1-5-1-s, 11.4.1-5-2-s and 11.4.1-5-3-s all assume that deleting a variable in strict mode produces a ReferenceError exception.  Section 11.4.1 of the specification contradicts this as it specifies a SyntaxError should be thrown instead.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;I sent that es5-discuss mail&amp;#58;&lt;/p&gt;&lt;p&gt;https&amp;#58;&amp;#47;&amp;#47;mail.mozilla.org&amp;#47;pipermail&amp;#47;es5-discuss&amp;#47;2011-January&amp;#47;003862.html&lt;/p&gt;</description><author>jwalden</author><pubDate>Mon, 03 Jan 2011 22:29:24 GMT</pubDate><guid isPermaLink="false">Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084] 20110103102924P</guid></item><item><title>Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084]</title><link>http://es5conform.codeplex.com/workitem/29084</link><description>The tests 11.4.1-5-1-s, 11.4.1-5-2-s and 11.4.1-5-3-s all assume that deleting a variable in strict mode produces a ReferenceError exception.  Section 11.4.1 of the specification contradicts this as it specifies a SyntaxError should be thrown instead.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;The colorable case involves a host object with a &amp;#91;&amp;#91;HasProperty&amp;#93;&amp;#93; hook that has side effects or may throw an exception other than a SyntaxError, then supplied as the object for a with clause, thus making the SyntaxError for deleting a name potentially not reachable if the delete expression is reached at runtime.  ES6&amp;#39;s proposed proxy specification would enable creation of such an object.  The spec says, &amp;#34;An early error is an error that can be detected and reported prior to the evaluation of any construct in the Program containing the error.&amp;#34;  &amp;#34;can be detected and reported prior to...&amp;#34; is arguably under-defined enough to permit the host object snafu.  As I said, I don&amp;#39;t like this case, and I think it worth killing.  But there is a case that deleting a name is not an early error.&lt;/p&gt;</description><author>jwalden</author><pubDate>Mon, 03 Jan 2011 21:12:48 GMT</pubDate><guid isPermaLink="false">Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084] 20110103091248P</guid></item><item><title>Commented Issue: Tests 10.6-13-b-3-s and 10.6-13-c-3-s reference nonexistent property "put" [29141]</title><link>http://es5conform.codeplex.com/workitem/29141</link><description>The tests 10.6-13-b-3-s and 10.6-13-c-3-s call Object.getOwnPropertyDescriptor to determine whether &amp;#34;arguments.callee&amp;#34; and &amp;#34;arguments.caller&amp;#34; are configurable.  However, they check for the existence of the property &amp;#34;put&amp;#34;.  The correct property to check for is &amp;#34;set&amp;#34;.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;Here are SpiderMonkey&amp;#39;s results, for what it&amp;#39;s worth, with all my patches &amp;#40;all attached to bugs, most waiting to be reviewed, one almost at the ready-to-attach stage, one very hackish patch that probably needs more work&amp;#41;&amp;#58;&lt;/p&gt;&lt;p&gt;We fail these valid tests &amp;#40;tho I believe there&amp;#39;s a patch, awaiting my review, to fix all these&amp;#41;&amp;#58;&lt;/p&gt;&lt;p&gt;FAIL&amp;#58; 15.4.4.14-1-1 Array.prototype.indexOf applied to undefined throws a TypeError&lt;br /&gt;FAIL&amp;#58; 15.4.4.14-1-2 Array.prototype.indexOf applied to null throws a TypeError&lt;br /&gt;FAIL&amp;#58; 15.5.4.20-1-2 String.prototype.trim throws TypeError when string is null&lt;br /&gt;FAIL&amp;#58; 15.5.4.20-1-1 String.prototype.trim throws TypeError when string is undefined&lt;/p&gt;&lt;p&gt;These tests seem invalid to me if you don&amp;#39;t extend ES5&amp;#58;&lt;/p&gt;&lt;p&gt;FAIL&amp;#58; 15.2.3.3-4-188 Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins &amp;#40;Function &amp;#40;instance&amp;#41;.name&amp;#41;&lt;br /&gt;FAIL&amp;#58; 15.2.3.3-4-184 Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins &amp;#40;Function.caller&amp;#41;&lt;br /&gt;FAIL&amp;#58; 15.2.3.3-4-183 Object.getOwnPropertyDescriptor returns undefined for non-existent properties on built-ins &amp;#40;Function.arguments&amp;#41;&lt;/p&gt;&lt;p&gt;These tests are nearly-valid, but I just didn&amp;#39;t fix them in the patch&amp;#58;&lt;/p&gt;&lt;p&gt;FAIL&amp;#58; 11.4.1-4.a-4-s delete operator throws TypeError when when deleting a non-configurable data property in strict mode &amp;#40;Global.NaN&amp;#41;&lt;br /&gt;FAIL&amp;#58; 11.13.1-4-2-s simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode &amp;#40;Global.NaN&amp;#41;&lt;br /&gt;FAIL&amp;#58; 11.13.1-4-3-s simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode &amp;#40;Global.Infinity&amp;#41;&lt;br /&gt;FAIL&amp;#58; 11.13.1-4-4-s simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode &amp;#40;Global.length&amp;#41;&lt;br /&gt;FAIL&amp;#58; 11.13.1-1-7-s simple assignment throws TypeError if LeftHandSide is a property reference with a primitive base value &amp;#40;this is undefined&amp;#41;&lt;br /&gt;FAIL&amp;#58; 11.13.1-4-27-s simple assignment throws TypeError if LeftHandSide is a readonly property in strict mode &amp;#40;Global.undefined&amp;#41;&lt;br /&gt;PRECONDITION FAILED&amp;#58; 15.4.4.14-9.a-1 Need to define a quality of implementation test that makes sure that it doesn&amp;#39;t take forever to process very large but very sparse arrays&lt;/p&gt;&lt;p&gt;These tests are the delete-name-is-early-error disagreement&amp;#58;&lt;/p&gt;&lt;p&gt;TestCases&amp;#47;chapter11&amp;#47;11.4&amp;#47;11.4.1&amp;#47;11.4.1-5-2-s.js&amp;#60;span style&amp;#61;&amp;#34;color&amp;#58;red&amp;#34;&amp;#62; Missing test&amp;#58; either misidentifed or could not load because of unexpected syntax error&amp;#60;&amp;#47;span&amp;#62;&lt;br /&gt;TestCases&amp;#47;chapter11&amp;#47;11.4&amp;#47;11.4.1&amp;#47;11.4.1-5-3-s.js&amp;#60;span style&amp;#61;&amp;#34;color&amp;#58;red&amp;#34;&amp;#62; Missing test&amp;#58; either misidentifed or could not load because of unexpected syntax error&amp;#60;&amp;#47;span&amp;#62;&lt;br /&gt;TestCases&amp;#47;chapter11&amp;#47;11.4&amp;#47;11.4.1&amp;#47;11.4.1-5-1-s.js&amp;#60;span style&amp;#61;&amp;#34;color&amp;#58;red&amp;#34;&amp;#62; Missing test&amp;#58; either misidentifed or could not load because of unexpected syntax error&amp;#60;&amp;#47;span&amp;#62;&lt;/p&gt;&lt;p&gt;This test probably works in a browser, but I generally don&amp;#39;t test browser until I have a working patch for a much smaller, less hairy shell environment &amp;#40;plus browser takes a lot longer to build&amp;#41;&amp;#58;&lt;/p&gt;&lt;p&gt;FAILED WITH EXCEPTION&amp;#58; WINDOW IS NOT DEFINED&amp;#58; 11.13.1-4-1 simple assignment creates property on the global object if LeftHandSide is an unresolvable reference&lt;/p&gt;&lt;p&gt;So aside from the two tests that expect no Function.caller&amp;#47;Function.arguments &amp;#40;this is outside the spec, which permits additional properties here and doesn&amp;#39;t specify that these exist, as Function is not a function created through 13.something&amp;#41;, we are in agreement as to what tests are bad and what tests are good.  Or, rather, our implementations plus a little manual testing are in agreement.&lt;/p&gt;</description><author>jwalden</author><pubDate>Mon, 03 Jan 2011 21:10:36 GMT</pubDate><guid isPermaLink="false">Commented Issue: Tests 10.6-13-b-3-s and 10.6-13-c-3-s reference nonexistent property "put" [29141] 20110103091036P</guid></item><item><title>Commented Issue: Tests 10.6-13-b-3-s and 10.6-13-c-3-s reference nonexistent property "put" [29141]</title><link>http://es5conform.codeplex.com/workitem/29141</link><description>The tests 10.6-13-b-3-s and 10.6-13-c-3-s call Object.getOwnPropertyDescriptor to determine whether &amp;#34;arguments.callee&amp;#34; and &amp;#34;arguments.caller&amp;#34; are configurable.  However, they check for the existence of the property &amp;#34;put&amp;#34;.  The correct property to check for is &amp;#34;set&amp;#34;.&lt;br /&gt;Comments: ** Comment from web user: paulbartrum ** &lt;p&gt;Thanks Jeff.  With your patch applied my ES5 implementation &amp;#40;http&amp;#58;&amp;#47;&amp;#47;jurassic.codeplex.com&amp;#41; fails 13 tests &amp;#40;down from 45&amp;#41;.  Two are known bugs with my implementation - the rest are currently outstanding issues on this issue tracker &amp;#40;6 issues covering 11 tests&amp;#41;.  By the way, your patch exposed a bug in my strict mode implementation, so thanks for your hard work&amp;#33;&lt;/p&gt;&lt;p&gt;In case you are interested, here are the eleven tests that I believe are still buggy &amp;#40;of course I am only picking up false negatives, not false positives&amp;#41;&amp;#58;&lt;br /&gt;11.4.1-4.a-4-s       &amp;#47;&amp;#47; assumes this refers to global object - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29151&lt;br /&gt;11.4.1-5-1-s         &amp;#47;&amp;#47; assumes delete var produces ReferenceError - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29084&lt;br /&gt;11.4.1-5-2-s         &amp;#47;&amp;#47; assumes delete var produces ReferenceError - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29084&lt;br /&gt;11.4.1-5-3-s         &amp;#47;&amp;#47; assumes delete var produces ReferenceError - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29084&lt;br /&gt;11.13.1-1-7-s        &amp;#47;&amp;#47; assumes this is undefined - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29152&lt;br /&gt;11.13.1-4-2-s        &amp;#47;&amp;#47; gets global object incorrectly - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29087&lt;br /&gt;11.13.1-4-27-s       &amp;#47;&amp;#47; gets global object incorrectly - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29087&lt;br /&gt;11.13.1-4-3-s        &amp;#47;&amp;#47; gets global object incorrectly - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29087&lt;br /&gt;11.13.1-4-4-s        &amp;#47;&amp;#47; gets global object incorrectly - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29087&lt;br /&gt;15.2.3.3-4-188       &amp;#47;&amp;#47; assumes Function.prototype.name does not exist - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;28594&lt;br /&gt;15.4.4.14-9.a-1      &amp;#47;&amp;#47; placeholder test - http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29102&lt;/p&gt;</description><author>paulbartrum</author><pubDate>Sun, 02 Jan 2011 13:06:11 GMT</pubDate><guid isPermaLink="false">Commented Issue: Tests 10.6-13-b-3-s and 10.6-13-c-3-s reference nonexistent property "put" [29141] 20110102010611P</guid></item><item><title>Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084]</title><link>http://es5conform.codeplex.com/workitem/29084</link><description>The tests 11.4.1-5-1-s, 11.4.1-5-2-s and 11.4.1-5-3-s all assume that deleting a variable in strict mode produces a ReferenceError exception.  Section 11.4.1 of the specification contradicts this as it specifies a SyntaxError should be thrown instead.&lt;br /&gt;Comments: ** Comment from web user: paulbartrum ** &lt;p&gt;For the record, my reasoning for believing it is an early error is as follows&amp;#58;&lt;br /&gt;&amp;#42; Section 11.4.1 step 5 indicates that deleting a variable in strict mode is a SyntaxError.&lt;br /&gt;&amp;#42; Section 16 says an implementation must treat any syntax error as an early error.&lt;br /&gt;Seems pretty straightforward to me.&lt;/p&gt;</description><author>paulbartrum</author><pubDate>Sun, 02 Jan 2011 06:20:56 GMT</pubDate><guid isPermaLink="false">Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084] 20110102062056A</guid></item><item><title>Commented Issue: Test 7.8.4-1-s does not correctly check whether octal escape sequences are allowed [28578]</title><link>http://es5conform.codeplex.com/workitem/28578</link><description>The spec does not allow octal escape sequences within strict mode code.  Test 7.8.4-1-s is designed to check this - however, I believe it fails to do so.&lt;br /&gt;&lt;br /&gt;The code in question is this&amp;#58; eval&amp;#40;&amp;#39; &amp;#34;asterisk&amp;#58; &amp;#92;052&amp;#34;&amp;#59; &amp;#34;use strict&amp;#34;&amp;#59;&amp;#39;&amp;#41;&amp;#59;&lt;br /&gt;&lt;br /&gt;The eval function takes a single string and by the time it reaches that point, the escape sequences have been eliminated.  Thus the octal escape sequence appears &amp;#42;outside&amp;#42; strict mode code &amp;#40;i.e. in the context of the testcase function&amp;#41; and thus it should be allowed.&lt;br /&gt;&lt;br /&gt;Also debatable is whether octal escape sequences should be disallowed before the &amp;#34;use strict&amp;#34; directive is encountered.  This seems like it would require the lexer to do a second pass over the code solely to resolve escape sequences.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this.&lt;/p&gt;&lt;p&gt;I proposed a fix for your suggestion &amp;#40;directives must not contain escapes, ergo &amp;#34;&amp;#92;052&amp;#34;&amp;#59; &amp;#34;use strict&amp;#34;&amp;#59; would not enter strict mode and require reparsing, or carrying seen-octal state forward when parsing the directive prologue -- SpiderMonkey does the latter because it eagerly throws away source&amp;#41; to the es5-discuss list, but discussion fizzled, and eventually I became fed up on waiting for a definitive yes&amp;#47;no as to making that change and just implemented what the spec requires in SpiderMonkey.  https&amp;#58;&amp;#47;&amp;#47;bugzilla.mozilla.org&amp;#47;show_bug.cgi&amp;#63;id&amp;#61;601262 and https&amp;#58;&amp;#47;&amp;#47;mail.mozilla.org&amp;#47;pipermail&amp;#47;es5-discuss&amp;#47;2010-October&amp;#47;003745.html are the relevant bug and mailing list discussion.  I&amp;#39;d still love it if the spec eliminated the need for this pedantry and reparsing&amp;#33;&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 23:01:30 GMT</pubDate><guid isPermaLink="false">Commented Issue: Test 7.8.4-1-s does not correctly check whether octal escape sequences are allowed [28578] 20110101110130P</guid></item><item><title>Commented Issue: The test 15.2.3.4-4-1 assumes a fixed list of properties on the global object [28595]</title><link>http://es5conform.codeplex.com/workitem/28595</link><description>The test 15.2.3.4-4-1 checks the property names of the global object against the following list&amp;#58;&lt;br /&gt;&amp;#91;&amp;#34;eval&amp;#34;, &amp;#34;parseInt&amp;#34;, &amp;#34;parseFloat&amp;#34;, &amp;#34;isNaN&amp;#34;, &amp;#34;isFinite&amp;#34;, &amp;#34;decodeURI&amp;#34;, &amp;#34;decodeURIComponent&amp;#34;, &amp;#34;encodeURIComponent&amp;#34;, &amp;#34;escape&amp;#34;, &amp;#34;unescape&amp;#34;, &amp;#34;NaN&amp;#34;, &amp;#34;Infinity&amp;#34;, &amp;#34;undefined&amp;#34;&amp;#93;&lt;br /&gt;This test has two problems&amp;#58;&lt;br /&gt;1. The list above is missing quite a few standard properties &amp;#40;e.g. &amp;#34;encodeURI&amp;#34;, &amp;#34;Array&amp;#34;, &amp;#34;JSON&amp;#34;, &amp;#34;Math&amp;#34;, etc&amp;#41;&lt;br /&gt;2. Implementations are allowed to extend the global object and many do &amp;#40;including all the major browsers&amp;#41;.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;I fixed the subsetting issue awhile ago, but the &amp;#34;incomplete properties&amp;#34; complaint is still valid.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:58:34 GMT</pubDate><guid isPermaLink="false">Commented Issue: The test 15.2.3.4-4-1 assumes a fixed list of properties on the global object [28595] 20110101105834P</guid></item><item><title>Commented Issue: Array iteration methods may continue after a reference to the array has been deleted [25430]</title><link>http://es5conform.codeplex.com/workitem/25430</link><description>I think these tests are making an incorrect assertion&amp;#58;&lt;br /&gt;&lt;br /&gt;15.4.4.16-7-7&lt;br /&gt;15.4.4.17-7-7&lt;br /&gt;15.4.4.18-7-6&lt;br /&gt;15.4.4.19-8-7&lt;br /&gt;15.4.4.20-9-7&lt;br /&gt;15.4.4.21-9-7&lt;br /&gt;15.4.4.22-9-7&lt;br /&gt;&lt;br /&gt;In these tests the object property is being deleted, but that doesn&amp;#39;t mean that the value itself is deleted - the method being called &amp;#40;e.g. every or filter&amp;#41; still has a reference to the array it&amp;#39;s operating on.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that fixes this.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:56:30 GMT</pubDate><guid isPermaLink="false">Commented Issue: Array iteration methods may continue after a reference to the array has been deleted [25430] 20110101105630P</guid></item><item><title>Commented Issue: All "stops calling callbackfn once the array is deleted during the call" tests are wrong [26872]</title><link>http://es5conform.codeplex.com/workitem/26872</link><description>These tests &amp;#40;15.4.4.16-7-7, 15.4.4.17-7-7, 15.4.4.18-7-6, 15.4.4.19-8-7, 15.4.4.20-9-7, 15.4.4.21-9-7, 15.4.4.22-9-7&amp;#41; follow the same pattern &amp;#40;this is reduce&amp;#41; &amp;#58; &lt;br /&gt;function testcase&amp;#40;&amp;#41; &amp;#123;&lt;br /&gt;    function callbackfn&amp;#40;prevVal, curVal, idx, obj&amp;#41; &amp;#123;&lt;br /&gt;        delete o.arr&amp;#59;&lt;br /&gt;        return prevVal &amp;#43; curVal&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;    var o &amp;#61; new Object&amp;#59;&lt;br /&gt;    o.arr &amp;#61; &amp;#91;&amp;#34;1&amp;#34;, 2, 3, 4, 5&amp;#93;&amp;#59;&lt;br /&gt;    if &amp;#40;o.arr.reduce&amp;#40;callbackfn&amp;#41; &amp;#61;&amp;#61;&amp;#61; &amp;#34;12&amp;#34;&amp;#41; &amp;#123;&lt;br /&gt;        return true&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;I think that, in this case, &amp;#34;delete&amp;#34; is misunderstood. The delete operator &amp;#40;ES5 11.4.1&amp;#41; calls the &amp;#91;&amp;#91;delete&amp;#93;&amp;#93; internal method &amp;#40;ES5 8.12.7&amp;#41; which removes from an object a property &amp;#40;if configurable&amp;#41;. If this property happens to be an object, there is no reason that this object itself is deleted as long as a reference to this object is kept somewhere. In our case, the &amp;#34;obj&amp;#34; argument of callbackfn and the &amp;#34;this&amp;#34; keyword of reduce are both a reference to the array being traversed.&lt;br /&gt;&lt;br /&gt;For that reason, I think that this these tests are wrong and should be removed from the test suite.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;This seems a dup of 25430, fwiw.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:54:12 GMT</pubDate><guid isPermaLink="false">Commented Issue: All "stops calling callbackfn once the array is deleted during the call" tests are wrong [26872] 20110101105412P</guid></item><item><title>Commented Issue: All "stops calling callbackfn once the array is deleted during the call" tests are wrong [26872]</title><link>http://es5conform.codeplex.com/workitem/26872</link><description>These tests &amp;#40;15.4.4.16-7-7, 15.4.4.17-7-7, 15.4.4.18-7-6, 15.4.4.19-8-7, 15.4.4.20-9-7, 15.4.4.21-9-7, 15.4.4.22-9-7&amp;#41; follow the same pattern &amp;#40;this is reduce&amp;#41; &amp;#58; &lt;br /&gt;function testcase&amp;#40;&amp;#41; &amp;#123;&lt;br /&gt;    function callbackfn&amp;#40;prevVal, curVal, idx, obj&amp;#41; &amp;#123;&lt;br /&gt;        delete o.arr&amp;#59;&lt;br /&gt;        return prevVal &amp;#43; curVal&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&lt;br /&gt;    var o &amp;#61; new Object&amp;#59;&lt;br /&gt;    o.arr &amp;#61; &amp;#91;&amp;#34;1&amp;#34;, 2, 3, 4, 5&amp;#93;&amp;#59;&lt;br /&gt;    if &amp;#40;o.arr.reduce&amp;#40;callbackfn&amp;#41; &amp;#61;&amp;#61;&amp;#61; &amp;#34;12&amp;#34;&amp;#41; &amp;#123;&lt;br /&gt;        return true&amp;#59;&lt;br /&gt;    &amp;#125;&lt;br /&gt;&amp;#125;&lt;br /&gt;&lt;br /&gt;I think that, in this case, &amp;#34;delete&amp;#34; is misunderstood. The delete operator &amp;#40;ES5 11.4.1&amp;#41; calls the &amp;#91;&amp;#91;delete&amp;#93;&amp;#93; internal method &amp;#40;ES5 8.12.7&amp;#41; which removes from an object a property &amp;#40;if configurable&amp;#41;. If this property happens to be an object, there is no reason that this object itself is deleted as long as a reference to this object is kept somewhere. In our case, the &amp;#34;obj&amp;#34; argument of callbackfn and the &amp;#34;this&amp;#34; keyword of reduce are both a reference to the array being traversed.&lt;br /&gt;&lt;br /&gt;For that reason, I think that this these tests are wrong and should be removed from the test suite.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that fixes this, but by adjusting the test to pass, not by deleting it.  &amp;#40;I have no particular objection to deleting the test, but since it&amp;#39;s basically written, better to coopt it for a useful purpose if possible, I think, even if it&amp;#39;s a completely different purpose from the original one.&amp;#41;&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:52:58 GMT</pubDate><guid isPermaLink="false">Commented Issue: All "stops calling callbackfn once the array is deleted during the call" tests are wrong [26872] 20110101105258P</guid></item><item><title>Commented Issue: The preconditions for tests 15.12.2-0-3 and 15.12.3-0-3 do not return true [28581]</title><link>http://es5conform.codeplex.com/workitem/28581</link><description>The preconditions for tests 15.12.2-0-3 and 15.12.3-0-3 both return a function and not a boolean.&lt;br /&gt;&lt;br /&gt;For example, in test 15.12.2-0-3 the precondition is&amp;#58; &amp;#34;return JSON &amp;#38;&amp;#38; Object.getOwnPropertyDescriptor&amp;#34;.  getOwnPropertyDescriptor is a function and therefore the whole expression returns a function.  Since the test driver expects &amp;#34;true&amp;#34; the precondition fails.  I believe that in this case the problem is that &amp;#34;fnExists&amp;#34; is missing and the precondition should be &amp;#34;return JSON &amp;#38;&amp;#38; fnExists&amp;#40;Object.getOwnPropertyDescriptor&amp;#41;&amp;#34;.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this, although the fix is slightly different from what&amp;#39;s suggested here.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:50:07 GMT</pubDate><guid isPermaLink="false">Commented Issue: The preconditions for tests 15.12.2-0-3 and 15.12.3-0-3 do not return true [28581] 20110101105007P</guid></item><item><title>Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084]</title><link>http://es5conform.codeplex.com/workitem/29084</link><description>The tests 11.4.1-5-1-s, 11.4.1-5-2-s and 11.4.1-5-3-s all assume that deleting a variable in strict mode produces a ReferenceError exception.  Section 11.4.1 of the specification contradicts this as it specifies a SyntaxError should be thrown instead.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that fixes many test suite issues but doesn&amp;#39;t address this, because there&amp;#39;s a somewhat colorable case that this is not necessarily an early error, and I haven&amp;#39;t taken it to es5-discuss yet.  But it&amp;#39;s worth noting here that SpiderMonkey and &amp;#40;soon, I believe&amp;#41; Nitro will implement this as an early error, even if perhaps that shouldn&amp;#39;t play into the calculation of whether these tests should or shouldn&amp;#39;t change.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:44:39 GMT</pubDate><guid isPermaLink="false">Commented Issue: Deleting a variable in strict mode produces a SyntaxError, not a ReferenceError (tests 11.4.1-5-1-s, 11.4.1-5-2-s, 11.4.1-5-3-s) [29084] 20110101104439P</guid></item><item><title>Commented Issue: Tests 15.4.4.21-9-c-ii-4-s and 15.4.4.22-9-c-ii-4-s assert that null should be passed as the this value (should be undefined) [29085]</title><link>http://es5conform.codeplex.com/workitem/29085</link><description>The tests 15.4.4.21-9-c-ii-4-s and 15.4.4.22-9-c-ii-4-s assert that null should be passed as the this value to the callback function for reduce and reduceRight.  The spec is inconsistent &amp;#40;it says undefined for reduce and null for reduceRight&amp;#41; but in the latest errata it clarifies that both functions should pass undefined as the this value.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this, although I believe it&amp;#39;s not fixed quite as suggested here.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:41:00 GMT</pubDate><guid isPermaLink="false">Commented Issue: Tests 15.4.4.21-9-c-ii-4-s and 15.4.4.22-9-c-ii-4-s assert that null should be passed as the this value (should be undefined) [29085] 20110101104100P</guid></item><item><title>Commented Issue: The precondition for test 15.4.4.19-9-3 references an undefined variable [29088]</title><link>http://es5conform.codeplex.com/workitem/29088</link><description>The precondition for test 15.4.4.19-9-3 references &amp;#34;a&amp;#34;&amp;#58;&lt;br /&gt;  return fnExists&amp;#40;Array.prototype.map, Array.isArray&amp;#40;a&amp;#41;&amp;#41;&amp;#59;&lt;br /&gt;The variable &amp;#34;a&amp;#34; is not yet defined. This causes the precondition to fail.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:39:49 GMT</pubDate><guid isPermaLink="false">Commented Issue: The precondition for test 15.4.4.19-9-3 references an undefined variable [29088] 20110101103949P</guid></item><item><title>Commented Issue: Tests 12.2.1-1-s to 12.2.1-10-s expect an EvalError when it should be a SyntaxError [29089]</title><link>http://es5conform.codeplex.com/workitem/29089</link><description>Tests 12.2.1-1-s to 12.2.1-10-s all expect that declaring a variable called &amp;#34;eval&amp;#34; will throw an EvalError.  This is not correct - the spec states that SyntaxError should be thrown instead.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:39:39 GMT</pubDate><guid isPermaLink="false">Commented Issue: Tests 12.2.1-1-s to 12.2.1-10-s expect an EvalError when it should be a SyntaxError [29089] 20110101103939P</guid></item><item><title>Commented Issue: Tests 13.1-3-3-s and others are missing a return statement [29100]</title><link>http://es5conform.codeplex.com/workitem/29100</link><description>If the test succeeds, there is no return statement so the function returns undefined.  This causes the test to fail.&lt;br /&gt;The following tests are affected&amp;#58;&lt;br /&gt;13.1-3-3-s&lt;br /&gt;13.1-3-4-s&lt;br /&gt;13.1-3-5-s&lt;br /&gt;13.1-3-6-s&lt;br /&gt;13.1-3-9-s&lt;br /&gt;13.1-3-10-s&lt;br /&gt;13.1-3-11-s&lt;br /&gt;13.1-3-12-s&lt;br /&gt;&lt;br /&gt;The code&amp;#58;&lt;br /&gt;  e instanceof SyntaxError&lt;br /&gt;should be&amp;#58;&lt;br /&gt;  return e instanceof SyntaxError&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this, although I&amp;#39;m not sure offhand if it fixes &amp;#42;all&amp;#42; the tests here -- probably, but not assuredly.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:39:36 GMT</pubDate><guid isPermaLink="false">Commented Issue: Tests 13.1-3-3-s and others are missing a return statement [29100] 20110101103936P</guid></item><item><title>Commented Issue: Test 15.3.2.1-11-6-s does not return a value [29103]</title><link>http://es5conform.codeplex.com/workitem/29103</link><description>As far as I can tell, the test must return a value convertible to true in order to succeed.  There is no return statement in the test 15.3.2.1-11-6-s, so it returns undefined, which is convertible to false.  Therefore the test always fails.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:38:32 GMT</pubDate><guid isPermaLink="false">Commented Issue: Test 15.3.2.1-11-6-s does not return a value [29103] 20110101103832P</guid></item><item><title>Commented Issue: Test 15.4.4.17-4-9 incorrectly asserts that Array.prototype.some returns -1 [29143]</title><link>http://es5conform.codeplex.com/workitem/29143</link><description>The test 15.4.4.17-4-9 asserts that Array.prototype.some returns -1 if the length property is zero.  This is incorrect&amp;#59; it should return false instead.&lt;br /&gt;Comments: ** Comment from web user: jwalden ** &lt;p&gt;http&amp;#58;&amp;#47;&amp;#47;es5conform.codeplex.com&amp;#47;workitem&amp;#47;29141 has a patch that also fixes this.&lt;/p&gt;</description><author>jwalden</author><pubDate>Sat, 01 Jan 2011 22:37:46 GMT</pubDate><guid isPermaLink="false">Commented Issue: Test 15.4.4.17-4-9 incorrectly asserts that Array.prototype.some returns -1 [29143] 20110101103746P</guid></item></channel></rss>