Reviewers: ,
Message:
Copy of https://chromiumcodereview.appspot.com/9429008/.
Description:
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
Please review this at https://chromiumcodereview.appspot.com/9447053/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/runtime.cc
M test/mjsunit/get-own-property-descriptor.js
Index: src/runtime.cc
diff --git a/src/runtime.cc b/src/runtime.cc
index
6d187ad4975978b34dd75bf56f26682ec8a0ed50..b377e6e54ba78d882713223bec38e6be17fe28f8
100644
--- a/src/runtime.cc
+++ b/src/runtime.cc
@@ -1039,7 +1039,7 @@ RUNTIME_FUNCTION(MaybeObject*,
Runtime_GetOwnProperty) {
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;
}
Index: test/mjsunit/get-own-property-descriptor.js
diff --git a/test/mjsunit/get-own-property-descriptor.js
b/test/mjsunit/get-own-property-descriptor.js
index
abb24200343d00c4d50fb98bf840ee94a52657c8..159c63bcc1f7e7c8698fd92e654e070c8a56427a
100644
--- a/test/mjsunit/get-own-property-descriptor.js
+++ b/test/mjsunit/get-own-property-descriptor.js
@@ -73,7 +73,7 @@ assertEquals(descObjectElement.value, 42);
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