Index: test/mjsunit/es6/built-in-accessor-names.js |
diff --git a/test/mjsunit/es6/built-in-accessor-names.js b/test/mjsunit/es6/built-in-accessor-names.js |
index d902ae6700aa52a93cadaa783f45d254085aec33..1f9573d09c80c655ae7fbeba5979311b0f10af19 100644 |
--- a/test/mjsunit/es6/built-in-accessor-names.js |
+++ b/test/mjsunit/es6/built-in-accessor-names.js |
@@ -6,14 +6,25 @@ |
'use strict'; |
-function assertGetterName(expected, object, name) { |
- var descr = Object.getOwnPropertyDescriptor(object, name); |
+function GetPropertyDescriptor(object, field, indirect) { |
+ if (!indirect) |
+ return Object.getOwnPropertyDescriptor(object, field); |
+ var descriptor; |
+ while (descriptor === undefined && object !== Object.prototype) { |
+ descriptor = Object.getOwnPropertyDescriptor(object, field); |
+ object = object.__proto__; |
+ } |
+ return descriptor; |
+} |
+ |
+function assertGetterName(expected, object, name, indirect) { |
+ var descr = GetPropertyDescriptor(object, name, indirect); |
assertSame(expected, descr.get.name); |
} |
-function assertSetterName(expected, object, name) { |
- var descr = Object.getOwnPropertyDescriptor(object, name); |
+function assertSetterName(expected, object, name, indirect) { |
+ var descr = GetPropertyDescriptor(object, name); |
assertSame(expected, descr.set.name); |
} |
@@ -36,11 +47,11 @@ let typedArrays = [ |
]; |
for (let f of typedArrays) { |
- assertGetterName('get buffer', f.prototype, 'buffer'); |
- assertGetterName('get byteOffset', f.prototype, 'byteOffset'); |
- assertGetterName('get byteLength', f.prototype, 'byteLength'); |
- assertGetterName('get length', f.prototype, 'length'); |
- assertGetterName('get [Symbol.toStringTag]', f.prototype, Symbol.toStringTag); |
+ assertGetterName('get buffer', f.prototype, 'buffer', true); |
adamk
2015/06/13 00:49:38
Wouldn't this work with the old code just changed
Dan Ehrenberg
2015/06/13 05:54:09
I thought it was nicer to do the proto walk becaus
|
+ assertGetterName('get byteOffset', f.prototype, 'byteOffset', true); |
+ assertGetterName('get byteLength', f.prototype, 'byteLength', true); |
+ assertGetterName('get length', f.prototype, 'length', true); |
+ assertGetterName('get [Symbol.toStringTag]', f.prototype, Symbol.toStringTag, true); |
} |