@@ -9,6 +9,12 @@ function TestServer(app) {
9
9
return new TestServer ( ) ;
10
10
}
11
11
12
+ // allow custom promise
13
+ if ( ! TestServer . Promise ) {
14
+ throw new Error ( 'native promise missing, set TestServer.Promise to your favorite alternative' ) ;
15
+ }
16
+
17
+ this . Promise = TestServer . Promise ;
12
18
this . server = http . createServer ( app ) ;
13
19
14
20
[ 'delete' , 'get' , 'head' , 'options' , 'patch' , 'post' , 'put' ] . forEach ( ( method ) => {
@@ -26,7 +32,7 @@ function TestServer(app) {
26
32
27
33
TestServer . prototype . listen = function listen ( ) {
28
34
if ( ! this . listener ) {
29
- this . listener = new Promise ( ( resolve , reject ) => {
35
+ this . listener = new this . Promise ( ( resolve , reject ) => {
30
36
this . server . listen ( 0 , ( ) => resolve ( ) )
31
37
. on ( 'error' , ( err ) => reject ( err ) ) ;
32
38
} ) ;
@@ -38,7 +44,7 @@ TestServer.prototype.listen = function listen() {
38
44
TestServer . prototype . close = function close ( ) {
39
45
this . listener = null ;
40
46
41
- return new Promise ( ( resolve , reject ) => {
47
+ return new this . Promise ( ( resolve , reject ) => {
42
48
this . server . close ( ( err ) => ( err ? reject ( err ) : resolve ( ) ) ) ;
43
49
} ) ;
44
50
} ;
@@ -60,4 +66,7 @@ TestServer.prototype.fetch = function fetch(path, opts) {
60
66
} ) ;
61
67
} ;
62
68
69
+ // expose Promise
70
+ TestServer . Promise = global . Promise ;
71
+
63
72
module . exports = TestServer ;
0 commit comments