mirror of https://github.com/tc39/test262.git
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
|
// Copyright (c) 2012 Ecma International. All rights reserved.
|
||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||
|
|
||
|
/*---
|
||
|
es5id: 7.6.1-4-16
|
||
|
description: >
|
||
|
Allow global constant properties as property names by accessor function within an object.
|
||
|
---*/
|
||
|
|
||
|
var test;
|
||
|
|
||
|
var tokenCodes = {
|
||
|
set undefined(value) { test = 'undefined'; },
|
||
|
get undefined() { return 'undefined'; },
|
||
|
set NaN(value) { test = 'NaN'; },
|
||
|
get NaN() { return 'NaN'; },
|
||
|
set Infinity(value) { test = 'Infinity'; },
|
||
|
get Infinity() { return 'Infinity'; },
|
||
|
};
|
||
|
|
||
|
var arr = [
|
||
|
'undefined',
|
||
|
'NaN',
|
||
|
'Infinity',
|
||
|
];
|
||
|
|
||
|
for (var i = 0; i < arr.length; ++i) {
|
||
|
var propertyName = arr[i];
|
||
|
|
||
|
assert(tokenCodes.hasOwnProperty(propertyName),
|
||
|
'Property "' + propertyName + '" found');
|
||
|
|
||
|
assert.sameValue(tokenCodes[propertyName], propertyName,
|
||
|
'Property "' + propertyName + '" has correct value');
|
||
|
|
||
|
tokenCodes[propertyName] = 0;
|
||
|
assert.sameValue(test, propertyName,
|
||
|
'Property "' + propertyName + '" sets correct value');
|
||
|
}
|