throw-with-undefined-reject.js 592 Bytes
Newer Older
1 2 3 4
// 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.

5
// A non-callable reject function throws eagerly
6 7 8 9 10 11 12 13 14 15 16 17 18

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() {});
littledan's avatar
littledan committed
19
MyPromise.__proto__ = Promise;
20 21
p.constructor = MyPromise;

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