// Copyright (C) 2016 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-new-operator
es6id: 12.3.3
description: Realm of error object produced when operand is not a constructor
info: |
  NewExpression : new NewExpression

  1. Return ? EvaluateNew(NewExpression, empty).

  MemberExpression : new MemberExpression Arguments

  1. Return ? EvaluateNew(MemberExpression, Arguments).

  12.3.3.1.1 Runtime Semantics: EvaluateNew

  7. If IsConstructor(constructor) is false, throw a TypeError exception.
features: [cross-realm]
---*/

var otherParseInt = $262.createRealm().global.parseInt;

assert.sameValue(typeof otherParseInt, 'function');

assert.throws(TypeError, function() {
  new otherParseInt(0);
}, 'production including Arguments');

assert.throws(TypeError, function() {
  new otherParseInt;
}, 'production eliding Arguments');

reportCompare(0, 0);
