Revision: 10822
Author:   [email protected]
Date:     Fri Feb 24 03:58:09 2012
Log:      Fix Object.getOwnPropertyDescriptor in string elements.

This fixes Object.getOwnPropertyDescriptor to report string character
elements as enumerable in accordance with the spec.

BUG=v8:862
TEST=mjsunit/get-own-property-descriptor

Review URL: https://chromiumcodereview.appspot.com/9447053
Patch from Ioseb Dzmanashvili <[email protected]>.
http://code.google.com/p/v8/source/detail?r=10822

Modified:
 /branches/bleeding_edge/src/runtime.cc
 /branches/bleeding_edge/test/mjsunit/get-own-property-descriptor.js

=======================================
--- /branches/bleeding_edge/src/runtime.cc      Thu Feb 23 03:43:07 2012
+++ /branches/bleeding_edge/src/runtime.cc      Fri Feb 24 03:58:09 2012
@@ -1039,7 +1039,7 @@
         elms->set(IS_ACCESSOR_INDEX, heap->false_value());
         elms->set(VALUE_INDEX, *substr);
         elms->set(WRITABLE_INDEX, heap->false_value());
-        elms->set(ENUMERABLE_INDEX,  heap->false_value());
+        elms->set(ENUMERABLE_INDEX,  heap->true_value());
         elms->set(CONFIGURABLE_INDEX, heap->false_value());
         return *desc;
       }
=======================================
--- /branches/bleeding_edge/test/mjsunit/get-own-property-descriptor.js Thu Sep 1 04:28:10 2011 +++ /branches/bleeding_edge/test/mjsunit/get-own-property-descriptor.js Fri Feb 24 03:58:09 2012
@@ -73,7 +73,7 @@
 var a = new String('foobar');
 for (var i = 0; i < a.length; i++) {
   var descStringObject = Object.getOwnPropertyDescriptor(a, i);
-  assertFalse(descStringObject.enumerable);
+  assertTrue(descStringObject.enumerable);
   assertFalse(descStringObject.configurable);
   assertFalse(descStringObject.writable);
   assertEquals(descStringObject.value, a.substring(i, i+1));

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to