summaryrefslogtreecommitdiff
path: root/deps/v8/test/mjsunit/compiler/promise-prototype-catch-custom-then-1.js
blob: d3bd0b85433263e8f6bc54eb4f3a720c7318adfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Copyright 2018 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.

// Flags: --allow-natives-syntax

function foo(p) { return p.catch(x => x); }

const a = Promise.resolve(1);

foo(a);
foo(a);
%OptimizeFunctionOnNextCall(foo);
foo(a);

let custom_then_called = false;
a.__proto__.then = function() { custom_then_called = true; }
foo(a);
assertTrue(custom_then_called);