@@ -8,144 +8,122 @@ const theModule = require('../index.js');
8
8
lab . experiment ( 'hapi-trailing-slash' , ( ) => {
9
9
let server ;
10
10
11
- lab . beforeEach ( ( done ) => {
11
+ lab . beforeEach ( async ( ) => {
12
12
server = new Hapi . Server ( ) ;
13
- server . connection ( ) ;
14
-
15
13
server . route ( [
16
14
{
17
15
method : 'GET' ,
18
16
path : '/no/slash' ,
19
- handler : ( request , reply ) => {
20
- reply ( 'welcome to the jungle' ) ;
17
+ handler : ( request , h ) => {
18
+ return 'welcome to the jungle' ;
21
19
}
22
20
} ,
23
21
{
24
22
method : 'GET' ,
25
23
path : '/has/slash/' ,
26
- handler : ( request , reply ) => {
27
- reply ( 'slither' ) ;
24
+ handler : ( request , h ) => {
25
+ return 'slither' ;
28
26
}
29
27
} ,
30
28
{
31
29
method : 'GET' ,
32
30
path : '/has/slash/{band}/' ,
33
- handler : ( request , reply ) => {
31
+ handler : ( request , h ) => {
34
32
if ( request . params . band === 'gnr' ) {
35
- reply ( 'sweet child of mine ' ) ;
33
+ return 'sweet child of mine ' ;
36
34
} else if ( request . params . band === 'velvet_revolver' ) {
37
- reply ( 'slither' ) ;
35
+ return 'slither' ;
38
36
} else {
39
- reply ( 'not found' ) ;
37
+ return 'not found' ;
40
38
}
41
39
}
42
40
}
43
41
] ) ;
44
42
45
- server . register ( {
46
- register : theModule ,
43
+ const response = await server . register ( {
44
+ plugin : theModule ,
47
45
options : {
48
46
method : 'append' ,
49
47
verbose : true
50
48
}
51
- } , ( err ) => {
52
- if ( err ) {
53
- throw err ;
54
- }
55
- server . start ( done ) ;
56
49
} ) ;
50
+ await server . start ( ) ;
57
51
} ) ;
58
52
59
- lab . afterEach ( ( done ) => {
60
- server . stop ( done ) ;
53
+ lab . afterEach ( async ( ) => {
54
+ await server . stop ( ) ;
61
55
} ) ;
62
56
63
- lab . test ( ' "append" /has/slash/ works normally' , ( done ) => {
64
- server . inject ( {
57
+ lab . test ( ' "append" /has/slash/ works normally' , async ( ) => {
58
+ const result = await server . inject ( {
65
59
method : 'get' ,
66
60
url : '/has/slash/'
67
- } , ( result ) => {
68
- Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
69
- Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
70
- done ( ) ;
71
61
} ) ;
62
+ Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
63
+ Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
72
64
} ) ;
73
- lab . test ( ' "append" /has/slash works normally if that route is specified' , ( done ) => {
65
+ lab . test ( ' "append" /has/slash works normally if that route is specified' , async ( ) => {
74
66
server . route ( {
75
67
path : '/has/slash' ,
76
68
method : 'get' ,
77
- handler ( request , reply ) {
78
- return reply ( 'slither' ) ;
69
+ handler ( request , h ) {
70
+ return 'slither' ;
79
71
}
80
72
} ) ;
81
- server . inject ( {
73
+ const result = await server . inject ( {
82
74
method : 'get' ,
83
75
url : '/has/slash'
84
- } , ( result ) => {
85
- Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
86
- Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
87
- done ( ) ;
88
76
} ) ;
77
+ Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
78
+ Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
89
79
} ) ;
90
80
91
- lab . test ( ' "append" GET /has/slash redirects to /has/slash/' , ( done ) => {
92
- server . inject ( {
81
+ lab . test ( ' "append" GET /has/slash redirects to /has/slash/' , async ( ) => {
82
+ const result = await server . inject ( {
93
83
method : 'get' ,
94
84
url : '/has/slash'
95
- } , ( result ) => {
96
- Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
97
- Code . expect ( result . headers . location ) . to . equal ( '/has/slash/' ) ;
98
- done ( ) ;
99
85
} ) ;
86
+ Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
87
+ Code . expect ( result . headers . location ) . to . equal ( '/has/slash/' ) ;
100
88
} ) ;
101
- lab . test ( ' "append" HEAD /has/slash redirects to /has/slash/' , ( done ) => {
102
- server . inject ( {
89
+ lab . test ( ' "append" HEAD /has/slash redirects to /has/slash/' , async ( ) => {
90
+ const result = await server . inject ( {
103
91
method : 'head' ,
104
92
url : '/has/slash'
105
- } , ( result ) => {
106
- Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
107
- Code . expect ( result . headers . location ) . to . equal ( '/has/slash/' ) ;
108
- done ( ) ;
109
93
} ) ;
94
+ Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
95
+ Code . expect ( result . headers . location ) . to . equal ( '/has/slash/' ) ;
110
96
} ) ;
111
- lab . test ( ' "append" /has/slash/ GET works with url params' , ( done ) => {
112
- server . inject ( {
97
+ lab . test ( ' "append" /has/slash/ GET works with url params' , async ( ) => {
98
+ const result = await server . inject ( {
113
99
method : 'get' ,
114
100
url : '/has/slash/velvet_revolver/'
115
- } , ( result ) => {
116
- Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
117
- Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
118
- done ( ) ;
119
101
} ) ;
102
+ Code . expect ( result . statusCode ) . to . equal ( 200 ) ;
103
+ Code . expect ( result . payload ) . to . equal ( 'slither' ) ;
120
104
} ) ;
121
105
122
- lab . test ( ' "append" /has/slash GET redirects with url params ' , ( done ) => {
123
- server . inject ( {
106
+ lab . test ( ' "append" /has/slash GET redirects with url params ' , async ( ) => {
107
+ const result = await server . inject ( {
124
108
method : 'get' ,
125
109
url : '/has/slash/velvet_revolver?temp=hi'
126
- } , ( result ) => {
127
- Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
128
- Code . expect ( result . headers . location ) . to . equal ( '/has/slash/velvet_revolver/?temp=hi' ) ;
129
- done ( ) ;
130
110
} ) ;
111
+ Code . expect ( result . statusCode ) . to . equal ( 301 ) ;
112
+ Code . expect ( result . headers . location ) . to . equal ( '/has/slash/velvet_revolver/?temp=hi' ) ;
131
113
} ) ;
132
- lab . test ( ' "append" /has/slash POST redirect is ignored ' , ( done ) => {
133
- server . inject ( {
114
+ lab . test ( ' "append" /has/slash POST redirect is ignored ' , async ( ) => {
115
+ const result = await server . inject ( {
134
116
method : 'post' ,
135
117
url : '/has/slash/velvet_revolver?temp=hi'
136
- } , ( result ) => {
137
- Code . expect ( result . statusCode ) . to . equal ( 404 ) ;
138
- done ( ) ;
139
118
} ) ;
119
+ Code . expect ( result . statusCode ) . to . equal ( 404 ) ;
140
120
} ) ;
141
121
142
- lab . test ( ' "append" /has/slash.png redirect is ignored ' , ( done ) => {
143
- server . inject ( {
122
+ lab . test ( ' "append" /has/slash.png redirect is ignored ' , async ( ) => {
123
+ const result = await server . inject ( {
144
124
method : 'get' ,
145
125
url : '/images/logo.png'
146
- } , ( result ) => {
147
- Code . expect ( result . statusCode ) . to . equal ( 404 ) ;
148
- done ( ) ;
149
126
} ) ;
127
+ Code . expect ( result . statusCode ) . to . equal ( 404 ) ;
150
128
} ) ;
151
129
} ) ;
0 commit comments