// Copyright 2019 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. | |
class MyPromise extends Promise { | |
static resolve() { | |
return { | |
then() { | |
throw "then throws"; | |
} | |
}; | |
} | |
} | |
let myIterable = { | |
[Symbol.iterator]() { | |
return { | |
next() { | |
return {}; | |
}, | |
get return() { return {}; }, | |
}; | |
} | |
}; | |
MyPromise.race(myIterable).then( | |
assertUnreachable, | |
(e) => { assertEquals(e, "then throws")}); |