summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/es6/debug-promises/throw-with-undefined-reject.js
blob: 6fe3b172bf9ae9e3170dd6c095f70694c0e6b9e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// A non-callable reject function throws eagerly

var p = new Promise(function(resolve, reject) {
  log.push("resolve");
  resolve();
});

function MyPromise(resolver) {
  var reject = undefined;
  var resolve = function() { };
  resolver(resolve, reject);
};

MyPromise.prototype = new Promise(function() {});
MyPromise.__proto__ = Promise;
p.constructor = MyPromise;

assertThrows(()=> p.then(function() { }), TypeError);