summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/Debugger-onPromiseSettled-03.js
blob: 2f11252480655281e757ca87ab49c9633d307dcc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// onPromiseSettled handlers on different Debugger instances are independent.
var g = newGlobal({newCompartment: true});
var dbg1 = new Debugger(g);
var log1;
function h1(promise) {
  log1 += 's';
  assertEq(promise.seen, undefined);
  promise.seen = true;
}

var dbg2 = new Debugger(g);
var log2;
function h2(promise) {
  log2 += 's';
  assertEq(promise.seen, undefined);
  promise.seen = true;
}

log1 = log2 = '';
g.settlePromiseNow(new g.Promise(function (){}));
assertEq(log1, '');
assertEq(log2, '');

log1 = log2 = '';
dbg1.onPromiseSettled = h1;
g.settlePromiseNow(new g.Promise(function (){}));
assertEq(log1, 's');
assertEq(log2, '');

log1 = log2 = '';
dbg2.onPromiseSettled = h2;
g.settlePromiseNow(new g.Promise(function (){}));
assertEq(log1, 's');
assertEq(log2, 's');

log1 = log2 = '';
dbg1.onPromiseSettled = undefined;
g.settlePromiseNow(new g.Promise(function (){}));
assertEq(log1, '');
assertEq(log2, 's');