@@ -34,13 +34,16 @@ test('chained promise', async t => {
34
34
35
35
test ( 'bail' , async t => {
36
36
try {
37
- await retry ( async ( bail , num ) => {
38
- if ( num === 2 ) {
39
- bail ( new Error ( 'Wont retry' ) )
40
- }
37
+ await retry (
38
+ async ( bail , num ) => {
39
+ if ( num === 2 ) {
40
+ bail ( new Error ( 'Wont retry' ) )
41
+ }
41
42
42
- throw new Error ( 'Test ' + num )
43
- } , { retries : 3 } )
43
+ throw new Error ( 'Test ' + num )
44
+ } ,
45
+ { retries : 3 }
46
+ )
44
47
} catch ( err ) {
45
48
t . deepEqual ( 'Wont retry' , err . message )
46
49
}
@@ -49,11 +52,13 @@ test('bail', async t => {
49
52
test ( 'bail + return' , async t => {
50
53
let _err
51
54
try {
52
- await Promise . resolve ( retry ( async bail => {
53
- await sleep ( 200 )
54
- await sleep ( 200 )
55
- bail ( new Error ( 'woot' ) )
56
- } ) )
55
+ await Promise . resolve (
56
+ retry ( async bail => {
57
+ await sleep ( 200 )
58
+ await sleep ( 200 )
59
+ bail ( new Error ( 'woot' ) )
60
+ } )
61
+ )
57
62
} catch ( err ) {
58
63
_err = err
59
64
}
@@ -63,13 +68,16 @@ test('bail + return', async t => {
63
68
test ( 'bail error' , async t => {
64
69
let retries = 0
65
70
try {
66
- await retry ( async ( ) => {
67
- retries ++
68
- await sleep ( 100 )
69
- const err = Error ( 'Wont retry' )
70
- err . bail = true
71
- throw err
72
- } , { retries : 3 } )
71
+ await retry (
72
+ async ( ) => {
73
+ retries ++
74
+ await sleep ( 100 )
75
+ const err = Error ( 'Wont retry' )
76
+ err . bail = true
77
+ throw err
78
+ } ,
79
+ { retries : 3 }
80
+ )
73
81
} catch ( err ) {
74
82
t . deepEqual ( 'Wont retry' , err . message )
75
83
}
@@ -78,9 +86,12 @@ test('bail error', async t => {
78
86
79
87
test ( 'with non-async functions' , async t => {
80
88
try {
81
- await retry ( ( bail , num ) => {
82
- throw new Error ( 'Test ' + num )
83
- } , { retries : 2 } )
89
+ await retry (
90
+ ( bail , num ) => {
91
+ throw new Error ( 'Test ' + num )
92
+ } ,
93
+ { retries : 2 }
94
+ )
84
95
} catch ( err ) {
85
96
t . deepEqual ( 'Test 3' , err . message )
86
97
}
@@ -90,3 +101,25 @@ test('return non-async', async t => {
90
101
const val = await retry ( ( ) => 5 )
91
102
t . deepEqual ( 5 , val )
92
103
} )
104
+
105
+ test ( 'with number of retries' , async t => {
106
+ let retries = 0
107
+ try {
108
+ await retry (
109
+ ( ) => {
110
+ return fetch ( 'https://www.fakewikipedia.org' )
111
+ } ,
112
+ {
113
+ retries : 2 ,
114
+ onRetry : ( err , i ) => {
115
+ if ( err ) {
116
+ console . log ( 'Retry error : ' , err )
117
+ }
118
+ retries = i
119
+ }
120
+ }
121
+ )
122
+ } catch ( err ) {
123
+ t . deepEqual ( retries , 2 )
124
+ }
125
+ } )
0 commit comments