Add test with duplicate keys.

Per https://github.com/tc39/test262/pull/484#issuecomment-178145781
This commit is contained in:
Jordan Harband 2016-02-01 16:57:31 -08:00
parent 0a5e8372aa
commit 940d8698d1
1 changed files with 31 additions and 0 deletions

View File

@ -0,0 +1,31 @@
// Copyright (C) 2016 Jordan Harband. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
description: Object.getOwnPropertyDescriptors on a proxy with duplicate ownKeys should work
esid: pending
author: Jordan Harband
features: [Proxy]
---*/
var i = 0;
var descriptors = [
{ enumerable: false, value: "A1", writable: true, configurable: true },
{ enumerable: true, value: "A2", writable: true, configurable: true }
];
var log = '';
var proxy = new Proxy({}, {
ownKeys() {
log += 'ownKeys|';
return ['DUPLICATE', 'DUPLICATE', 'DUPLICATE'];
},
getOwnPropertyDescriptor(t, name) {
log += 'getOwnPropertyDescriptor:' + name + '|';
return descriptors[i++];
}
});
var result = Object.getOwnPropertyDescriptors(proxy);
assert.sameValue(result.hasOwnProperty('DUPLICATE'), true);
assert.sameValue(result.DUPLICATE, undefined);
assert.sameValue(log, 'ownKeys|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE|getOwnPropertyDescriptor:DUPLICATE');