summaryrefslogtreecommitdiff
path: root/test/built-ins/Object/defineProperties/15.2.3.7-2-18.js
blob: b95a3e23543960e5f0c47ca4daa8078044b05fe7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (c) 2012 Ecma International.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/*---
es5id: 15.2.3.7-2-18
description: >
    Object.defineProperties - argument 'Properties' is the global
    object
---*/

var global = this;
var obj = {};
var result = false;

try {
  Object.defineProperty(this, "prop", {
    get: function() {
      result = (this === global);
      return {};
    },
    enumerable: true,
    configurable: true
  });

  Object.defineProperties(obj, this);
} catch (e) {
  if (!(e instanceof TypeError)) throw e;
  result = true;
} finally {
  delete this.prop;
}

assert(result, 'result !== true');