summaryrefslogtreecommitdiff
path: root/test/built-ins/Reflect/Reflect.js
blob: 2500acb2b654cc7f2d73d6347d5762b8f52fdd91 (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
// Copyright (C) 2015 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 26.1
description: >
  The Reflect object is an ordinary object.
info: |
  26.1 The Reflect Object

  The Reflect object is the %Reflect% intrinsic object and the initial value of
  the Reflect property of the global object. The Reflect object is an ordinary
  object.

  The Reflect object is not a function object. It does not have a [[Construct]]
  internal method; it is not possible to use the Reflect object as a constructor
  with the new operator. The Reflect object also does not have a [[Call]]
  internal method; it is not possible to invoke the Reflect object as a
  function.
---*/

assert.sameValue(typeof Reflect, 'object', '`typeof Reflect` is `"object"`');

// Reflect is not callable
assert.throws(TypeError, function() {
  Reflect();
});

// Reflect doesn't have a constructor
assert.throws(TypeError, function() {
  new Reflect();
});