blob: bb17ddc1b5eae74448a0d49af987e9f7d0451296 [file] [log] [blame]
keith_miller@apple.combcc77f22016-07-15 06:03:25 +00001// Copyright (c) 2012 Ecma International. All rights reserved.
2// This code is governed by the BSD license found in the LICENSE file.
3
4/*---
5es5id: 15.2.3.6-4-550
6description: >
7 ES5 Attributes - property ([[Get]] is a Function, [[Set]] is a
8 Function, [[Enumerable]] is false, [[Configurable]] is true) is
9 non-enumerable
10---*/
11
12 var obj = {};
13
14 var getFunc = function () {
15 return 1001;
16 };
17
18 var verifySetFunc = "data";
19 var setFunc = function (value) {
20 verifySetFunc = value;
21 };
22
23 Object.defineProperty(obj, "prop", {
24 get: getFunc,
25 set: setFunc,
26 enumerable: false,
27 configurable: true
28 });
29
30 var propertyDefineCorrect = obj.hasOwnProperty("prop");
31 var desc = Object.getOwnPropertyDescriptor(obj, "prop");
32
33 for (var p in obj) {
34 assert.notSameValue(p, "prop", 'p');
35 }
36
37assert(propertyDefineCorrect, 'propertyDefineCorrect !== true');
38assert.sameValue(desc.enumerable, false, 'desc.enumerable');