<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>ECMAScript 5 Conformance Suite</title><link>http://es5conform.codeplex.com/project/feeds/rss</link><description>A test suite to verify how closely a JavaScript implementation conforms to the ECMAScript 5th Edition Specification.  Active development on this test suite has been moved to http&amp;#58;&amp;#47;&amp;#47;test262.ecmascript.org.</description><item><title>Updated Wiki: Home</title><link>http://es5conform.codeplex.com/wikipage?version=20</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;&lt;u&gt;A New Home for ES5Conform&lt;/u&gt;&lt;/h2&gt;
The goal of the ES5Conform CodePlex project was to build a suite of tests for new features added in the 5th edition of the ECMAScript language specification.  As this test suite matured, it became desirable to extend it with tests for features added in earlier versions of the ECMAScript standard that are still present in the 5th edition today.  A comprehensive test suite for the 5th edition in its entirety is extremely useful for JavaScript implementers. &lt;br /&gt;&lt;br /&gt;To achieve this goal, &lt;b&gt;the tests from ES5Conform (which were focused on ECMAScript 5) have been contributed along with Google’s Sputnik tests (focused on ECMAScript 3) to Test262, a test suite supported by the ECMAScript committee. To this end, all active development on ES5Conform has been migrated to test262 and test defects are now tracked on &lt;a href="http://bugs.ecmascript.org" class="externalLink"&gt;http://bugs.ecmascript.org&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;.  Other improvements were made in the transition to test262, and the best example of this is that the entire test suite is conveniently runnable directly from the test262 website.  Also worth pointing out is that development of test262 is now an actual project of the TC39 committee, and test262 resides in the ecmascript.org web domain.  You can find more info about test262 on its official website, &lt;a href="http://test262.ecmascript.org" class="externalLink"&gt;http://test262.ecmascript.org&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, or via the test262 mailing list - see &lt;a href="https://mail.mozilla.org/listinfo/test262-discuss" class="externalLink"&gt;https://mail.mozilla.org/listinfo/test262-discuss&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.  Finally, the original version of ES5Conform&amp;#39;s CodePlex project page has been archived &lt;a href="http://es5conform.codeplex.com/documentation" class="externalLink"&gt;here&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We thank everyone whose contributed to ES5Conform over the years, and hope you’ll bring the same passion for a standardized web to the test262 effort.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The ES5Conform Team&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfugate</author><pubDate>Mon, 08 Aug 2011 17:57:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110808055703P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://es5conform.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;This page is deprecated and all ES5Conform tests have been contributed to ECMA&amp;#39;s &lt;a href="http://test262.ecmascript.org" class="externalLink"&gt;test262&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; project.&lt;/h1&gt;&lt;hr /&gt;

&lt;h3&gt;Project Description&lt;/h3&gt;The goal of this project was to develop a test suite that could be used to determine how closely a JavaScript implementation conforms to the ECMAScript, 5th Edition Language Specification.  We hope that the availability of a common conformance test suite will help browser implementers achieve a very high degree of interoperability for their ECMAScript 5 implementations.&lt;br /&gt;
&lt;h3&gt;What is ECMAScript 5&lt;/h3&gt;&amp;quot;ECMAScript&amp;quot; is the name under which the language more commonly known as &amp;quot;JavaScript&amp;quot; is standardized.  Development of the ECMAScript standard is the responsibility of &lt;a href="http://www.ecma-international.org/memento/TC39.htm" class="externalLink"&gt;Technical Committee 39 (TC39)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; of &lt;a href="http://www.ecma-international.org/" class="externalLink"&gt;Ecma International&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The ECMAScript standard is officially known as ECMA-262.  ECMAScript 5 (or just ES5) is short hand for the &amp;quot;ECMA-262, 5th Edition ECMAScript Language Specification&amp;quot; the official name of the standard.&lt;br /&gt;&lt;br /&gt;ECMAScript 5 was approved as an offical Ecma standard by the the Ecma General Assembly on  December 3, 2009.  The &lt;a href="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf" class="externalLink"&gt;ECMAScript 5 Specification (PDF)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; is available from the Ecma International web site. &lt;br /&gt;
&lt;h3&gt;Project Coordination and Participation&lt;/h3&gt;The coordinators of this project represent organizations that are members of ECMA and participants in TC39.  This project is being carried out in cooperation with ECMA TC39 but the actual operation of this development project is not currently an official ECMA activity. It is possible this some or all of this test suite may be formally adopted by TC39 as a formal ECMA publication.&lt;br /&gt;&lt;br /&gt;TC39 members and other with an active interest in test ECMAScript implementations are invited to participate by running tests, identify issues, contributing tests, or becoming active developers on this project. Path submissions are welcomed from everyone.
&lt;h3&gt;Contributors&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Microsoft contributed the original set of approximately 900 tests.&lt;/li&gt;&lt;/ul&gt;
&lt;h3&gt;License&lt;/h3&gt;All files in this project are licensed  using the New BSD license.   See the license tab of this project for the actual license text.
&lt;h3&gt;Downloading and Running the Tests&lt;/h3&gt;Simply go to the Downloads tab, download the latest release, unzip it, and open runtests.html in the browser you want to test. If you want to run the tests in a non-browser environment you could contribute to this project by writing an &lt;a href="http://es5conform.codeplex.com/workitem/23271"&gt;appropriate test driver&lt;/a&gt;.&lt;br /&gt;. 
&lt;h3&gt;Test Organization and Conventions&lt;/h3&gt;The tests are arranged in a hierarchy that reflects the organization of the ECMAScript 5 Specification.  The organization is explained &lt;a href="http://es5conform.codeplex.com/wikipage?title=testOrg&amp;referringTitle=Documentation"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfugate</author><pubDate>Mon, 08 Aug 2011 17:44:22 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20110808054422P</guid></item><item><title>Updated Wiki: Home</title><link>http://es5conform.codeplex.com/wikipage?version=19</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;&lt;u&gt;A New Home for ES5Conform&lt;/u&gt;&lt;/h2&gt;
The goal of the ES5Conform CodePlex project was to build a suite of tests for new features added in the 5th edition of the ECMAScript language specification.  As this test suite matured, it became desirable to extend it with tests for features added in earlier versions of the ECMAScript standard that are still present in the 5th edition today.  A comprehensive test suite for the 5th edition in its entirety is extremely useful for JavaScript implementers. &lt;br /&gt;&lt;br /&gt;To achieve this goal, &lt;b&gt;the tests from ES5Conform (which were focused on ECMAScript 5) have been contributed along with Google’s Sputnik tests (focused on ECMAScript 3) to Test262, a test suite supported by the ECMAScript committee. To this end, all active development on ES5Conform has been migrated to test262 and test defects are now tracked on &lt;a href="http://bugs.ecmascript.org" class="externalLink"&gt;http://bugs.ecmascript.org&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;.  Other improvements were made in the transition to test262, and the best example of this is that the entire test suite is conveniently runnable directly from the test262 website.  Also worth pointing out is that development of test262 is now an actual project of the TC39 committee, and test262 resides in the ecmascript.org web domain.  You can find more info about test262 on its official website, &lt;a href="http://test262.ecmascript.org" class="externalLink"&gt;http://test262.ecmascript.org&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, or via the test262 mailing list - see &lt;a href="https://mail.mozilla.org/listinfo/test262-discuss" class="externalLink"&gt;https://mail.mozilla.org/listinfo/test262-discuss&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We thank everyone whose contributed to ES5Conform over the years, and hope you’ll bring the same passion for a standardized web to the test262 effort.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The ES5Conform Team&lt;/i&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>dfugate</author><pubDate>Mon, 08 Aug 2011 17:38:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110808053833P</guid></item><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></channel></rss>
