@@ -338,6 +338,38 @@ function testFraming_lotsOfNesting() {
338
338
}
339
339
340
340
341
+ function testFrame_callbackReturnsPromiseThatDependsOnATask_1 ( ) {
342
+ schedule ( 'a' ) . then ( function ( ) {
343
+ schedule ( 'b' ) ;
344
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
345
+ return schedule ( 'c' ) ;
346
+ } ) ;
347
+ } ) ;
348
+ schedule ( 'd' ) ;
349
+
350
+ return waitForIdle ( ) . then ( function ( ) {
351
+ assertFlowHistory ( 'a' , 'b' , 'c' , 'd' ) ;
352
+ } ) ;
353
+ }
354
+
355
+
356
+ function testFrame_callbackReturnsPromiseThatDependsOnATask_2 ( ) {
357
+ schedule ( 'a' ) . then ( function ( ) {
358
+ schedule ( 'b' ) ;
359
+ return webdriver . promise . delayed ( 5 ) .
360
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
361
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
362
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
363
+ then ( function ( ) { return schedule ( 'c' ) ; } ) ;
364
+ } ) ;
365
+ schedule ( 'd' ) ;
366
+
367
+ return waitForIdle ( ) . then ( function ( ) {
368
+ assertFlowHistory ( 'a' , 'b' , 'c' , 'd' ) ;
369
+ } ) ;
370
+ }
371
+
372
+
341
373
function testFraming_eachCallbackWaitsForAllScheduledTasksToComplete ( ) {
342
374
schedule ( 'a' ) .
343
375
then ( function ( ) {
@@ -1293,8 +1325,67 @@ function testSubtasks_taskReturnsPromiseThatDependsOnSubtask_2() {
1293
1325
}
1294
1326
1295
1327
1328
+ function testSubtasks_taskReturnsPromiseThatDependsOnSubtask_3 ( ) {
1329
+ scheduleAction ( 'a' , function ( ) {
1330
+ return webdriver . promise . delayed ( 10 ) . then ( function ( ) {
1331
+ return schedule ( 'b' ) ;
1332
+ } ) ;
1333
+ } ) ;
1334
+ schedule ( 'c' ) ;
1335
+ return waitForIdle ( ) . then ( function ( ) {
1336
+ assertFlowHistory ( 'a' , 'b' , 'c' ) ;
1337
+ } ) ;
1338
+ }
1296
1339
1297
1340
1341
+ function testSubtasks_taskReturnsPromiseThatDependsOnSubtask_4 ( ) {
1342
+ scheduleAction ( 'a' , function ( ) {
1343
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1344
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1345
+ return schedule ( 'b' ) ;
1346
+ } ) ;
1347
+ } ) ;
1348
+ } ) ;
1349
+ schedule ( 'c' ) ;
1350
+ return waitForIdle ( ) . then ( function ( ) {
1351
+ assertFlowHistory ( 'a' , 'b' , 'c' ) ;
1352
+ } ) ;
1353
+ }
1354
+
1355
+
1356
+ function testSubtasks_taskReturnsPromiseThatDependsOnSubtask_5 ( ) {
1357
+ scheduleAction ( 'a' , function ( ) {
1358
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1359
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1360
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1361
+ return webdriver . promise . delayed ( 5 ) . then ( function ( ) {
1362
+ return schedule ( 'b' ) ;
1363
+ } ) ;
1364
+ } ) ;
1365
+ } ) ;
1366
+ } ) ;
1367
+ } ) ;
1368
+ schedule ( 'c' ) ;
1369
+ return waitForIdle ( ) . then ( function ( ) {
1370
+ assertFlowHistory ( 'a' , 'b' , 'c' ) ;
1371
+ } ) ;
1372
+ }
1373
+
1374
+
1375
+ function testSubtasks_taskReturnsPromiseThatDependsOnSubtask_6 ( ) {
1376
+ scheduleAction ( 'a' , function ( ) {
1377
+ return webdriver . promise . delayed ( 5 ) .
1378
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
1379
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
1380
+ then ( function ( ) { return webdriver . promise . delayed ( 5 ) } ) .
1381
+ then ( function ( ) { return schedule ( 'b' ) ; } ) ;
1382
+ } ) ;
1383
+ schedule ( 'c' ) ;
1384
+ return waitForIdle ( ) . then ( function ( ) {
1385
+ assertFlowHistory ( 'a' , 'b' , 'c' ) ;
1386
+ } ) ;
1387
+ }
1388
+
1298
1389
function testSubtasks_subTaskFails_1 ( ) {
1299
1390
schedule ( 'a' ) ;
1300
1391
scheduleAction ( 'sub-tasks' , function ( ) {
0 commit comments