@@ -149,17 +149,6 @@ describe('level 0a', { concurrency: 4 }, () => {
149149 return p0a ;
150150} ) ;
151151
152- describe ( 'top level' , { concurrency : 2 } , ( ) => {
153- it ( '+long running' , async ( ) => {
154- return new Promise ( ( resolve , reject ) => {
155- setTimeout ( resolve , 3000 ) . unref ( ) ;
156- } ) ;
157- } ) ;
158-
159- describe ( '+short running' , async ( ) => {
160- it ( '++short running' , async ( ) => { } ) ;
161- } ) ;
162- } ) ;
163152
164153describe ( 'invalid subtest - pass but subtest fails' , ( ) => {
165154 setImmediate ( ( ) => {
@@ -339,3 +328,47 @@ describe('timeouts', () => {
339328 setTimeout ( done , 10 ) ;
340329 } ) ;
341330} ) ;
331+
332+ describe ( 'successful thenable' , ( ) => {
333+ it ( 'successful thenable' , ( ) => {
334+ let thenCalled = false ;
335+ return {
336+ get then ( ) {
337+ if ( thenCalled ) throw new Error ( ) ;
338+ thenCalled = true ;
339+ return ( successHandler ) => successHandler ( ) ;
340+ } ,
341+ } ;
342+ } ) ;
343+
344+ it ( 'rejected thenable' , ( ) => {
345+ let thenCalled = false ;
346+ return {
347+ get then ( ) {
348+ if ( thenCalled ) throw new Error ( ) ;
349+ thenCalled = true ;
350+ return ( _ , errorHandler ) => errorHandler ( new Error ( 'custom error' ) ) ;
351+ } ,
352+ } ;
353+ } ) ;
354+
355+ let thenCalled = false ;
356+ return {
357+ get then ( ) {
358+ if ( thenCalled ) throw new Error ( ) ;
359+ thenCalled = true ;
360+ return ( successHandler ) => successHandler ( ) ;
361+ } ,
362+ } ;
363+ } ) ;
364+
365+ describe ( 'rejected thenable' , ( ) => {
366+ let thenCalled = false ;
367+ return {
368+ get then ( ) {
369+ if ( thenCalled ) throw new Error ( ) ;
370+ thenCalled = true ;
371+ return ( _ , errorHandler ) => errorHandler ( new Error ( 'custom error' ) ) ;
372+ } ,
373+ } ;
374+ } ) ;
0 commit comments