Skip to content

Commit ae2ae5c

Browse files
author
Mike Kaufman
committed
Adding TTD test that verifies multiple reactions on a single handler
1 parent 210bbe3 commit ae2ae5c

File tree

4 files changed

+115
-0
lines changed

4 files changed

+115
-0
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
//-------------------------------------------------------------------------------------------------------
2+
// Copyright (C) Microsoft. All rights reserved.
3+
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
4+
//-------------------------------------------------------------------------------------------------------
5+
6+
let val = -7
7+
8+
let turi = '';
9+
let elog = () => {};
10+
let tlog = (msg, val) => { console.log(msg); }
11+
if (typeof telemetryLog !== 'undefined') {
12+
tlog = telemetryLog;
13+
elog = emitTTDLog;
14+
turi = ttdLogURI;
15+
}
16+
17+
function addThens()
18+
{
19+
let resolveFunc;
20+
const p = new Promise((resolve, reject) => {
21+
resolveFunc = resolve;
22+
});
23+
24+
WScript.SetTimeout(() => {
25+
p.then(() => {
26+
val = val * 3;
27+
});
28+
}, 200);
29+
30+
WScript.SetTimeout(() => {
31+
p.then(() => {
32+
val = val + 21
33+
});
34+
}, 300);
35+
36+
WScript.SetTimeout(resolveFunc, 400);
37+
WScript.SetTimeout(testFunction, 1000);
38+
}
39+
40+
WScript.SetTimeout(addThens, 100);
41+
42+
function testFunction()
43+
{
44+
tlog(`val is ${val} (Expect 0)`, true);
45+
46+
elog(turi);
47+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
val is 0 (Expect 0)
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
val is 0 (Expect 0)
2+
3+
Reached end of Execution -- Exiting.

test/TTBasic/rlexe.xml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -536,6 +536,70 @@
536536
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
537537
</default>
538538
</test>
539+
<test>
540+
<default>
541+
<files>promise_MultipleThenCalls.js</files>
542+
<compile-flags>-TTRecord=promise_MultipleThenCallsTest -TTSnapInterval=0</compile-flags>
543+
<baseline>promise_MultipleThenCallsRecord.baseline</baseline>
544+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
545+
</default>
546+
</test>
547+
<test>
548+
<default>
549+
<files>ttdSentinal.js</files>
550+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=1</compile-flags>
551+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
552+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
553+
</default>
554+
</test>
555+
<test>
556+
<default>
557+
<files>ttdSentinal.js</files>
558+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=2</compile-flags>
559+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
560+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
561+
</default>
562+
</test>
563+
<test>
564+
<default>
565+
<files>ttdSentinal.js</files>
566+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=3</compile-flags>
567+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
568+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
569+
</default>
570+
</test>
571+
<test>
572+
<default>
573+
<files>ttdSentinal.js</files>
574+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=4</compile-flags>
575+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
576+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
577+
</default>
578+
</test>
579+
<test>
580+
<default>
581+
<files>ttdSentinal.js</files>
582+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=5</compile-flags>
583+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
584+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
585+
</default>
586+
</test>
587+
<test>
588+
<default>
589+
<files>ttdSentinal.js</files>
590+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=6</compile-flags>
591+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
592+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
593+
</default>
594+
</test>
595+
<test>
596+
<default>
597+
<files>ttdSentinal.js</files>
598+
<compile-flags>-TTReplay=promise_MultipleThenCallsTest -TTDStartEvent=7</compile-flags>
599+
<baseline>promise_MultipleThenCallsReplay.baseline</baseline>
600+
<tags>exclude_dynapogo,exclude_jshost,exclude_snap,exclude_serialized</tags>
601+
</default>
602+
</test>
539603
<test>
540604
<default>
541605
<files>proxy.js</files>

0 commit comments

Comments
 (0)