source: frontend/node_modules/jake/test/integration/jakelib/concurrent.jake.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 2.4 KB
Line 
1
2namespace('concurrent', function () {
3 task('A', function () {
4 console.log('Started A');
5 return new Promise((resolve, reject) => {
6 setTimeout(() => {
7 console.log('Finished A');
8 resolve();
9 }, 200);
10 });
11 });
12
13 task('B', function () {
14 console.log('Started B');
15 return new Promise((resolve, reject) => {
16 setTimeout(() => {
17 console.log('Finished B');
18 resolve();
19 }, 50);
20 });
21 });
22
23 task('C', function () {
24 console.log('Started C');
25 return new Promise((resolve, reject) => {
26 setTimeout(() => {
27 console.log('Finished C');
28 resolve();
29 }, 100);
30 });
31 });
32
33 task('D', function () {
34 console.log('Started D');
35 return new Promise((resolve, reject) => {
36 setTimeout(() => {
37 console.log('Finished D');
38 resolve();
39 }, 300);
40 });
41 });
42
43 task('Ba', ['A'], function () {
44 console.log('Started Ba');
45 return new Promise((resolve, reject) => {
46 setTimeout(() => {
47 console.log('Finished Ba');
48 resolve();
49 }, 50);
50 });
51 });
52
53 task('Afail', function () {
54 console.log('Started failing task');
55 return new Promise((resolve, reject) => {
56 setTimeout(() => {
57 console.log('Failing B with error');
58 throw new Error('I failed');
59 }, 50);
60 });
61 });
62
63 task('simple1', ['A','B'], {concurrency: 2}, function () {
64 return new Promise((resolve, reject) => {
65 setTimeout(() => {
66 resolve();
67 }, 50);
68 });
69 });
70
71 task('simple2', ['C','D'], {concurrency: 2}, function () {
72 return new Promise((resolve, reject) => {
73 setTimeout(() => {
74 resolve();
75 }, 50);
76 });
77 });
78
79 task('seqconcurrent', ['simple1','simple2'], function () {
80 return new Promise((resolve, reject) => {
81 setTimeout(() => {
82 resolve();
83 }, 50);
84 });
85 });
86
87 task('concurrentconcurrent', ['simple1','simple2'], {concurrency: 2}, function () {
88 return new Promise((resolve, reject) => {
89 setTimeout(() => {
90 resolve();
91 }, 50);
92 });
93 });
94
95 task('subdep', ['A','Ba'], {concurrency: 2}, function () {
96 return new Promise((resolve, reject) => {
97 setTimeout(() => {
98 resolve();
99 }, 50);
100 });
101 });
102
103 task('fail', ['A', 'B', 'Afail'], {concurrency: 3}, function () {
104 return new Promise((resolve, reject) => {
105 setTimeout(() => {
106 resolve();
107 }, 50);
108 });
109 });
110
111});
112
113
Note: See TracBrowser for help on using the repository browser.