@@ -82,4 +82,169 @@ public function testRequestMethods()
82
82
// Cleanup
83
83
ob_end_clean ();
84
84
}
85
+
86
+ public function testDynamicRequestUri ()
87
+ {
88
+ $ this ->router ->get ('/test/:id ' , function (int $ id ) {
89
+ return "result: {$ id }" ;
90
+ });
91
+
92
+ $ this ->router ->get ('/test/:string ' , function (string $ username ) {
93
+ return "result: {$ username }" ;
94
+ });
95
+
96
+ $ this ->router ->get ('/test/:uuid ' , function (string $ uuid ) {
97
+ return "result: ce3a3f47-b950-4e34-97ee-fa5f127d4564 " ;
98
+ });
99
+
100
+ $ this ->router ->get ('/test/:date ' , function (string $ date ) {
101
+ return "result: 1938-11-10 " ;
102
+ });
103
+
104
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'GET ' );
105
+
106
+ ob_start ();
107
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test/10 ' );
108
+ $ this ->router ->run ();
109
+ $ this ->assertEquals ('result: 10 ' , ob_get_contents ());
110
+
111
+ ob_clean ();
112
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test/izniburak ' );
113
+ $ this ->router ->run ();
114
+ $ this ->assertEquals ('result: izniburak ' , ob_get_contents ());
115
+
116
+ ob_clean ();
117
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test/ce3a3f47-b950-4e34-97ee-fa5f127d4564 ' );
118
+ $ this ->router ->run ();
119
+ $ this ->assertEquals ('result: ce3a3f47-b950-4e34-97ee-fa5f127d4564 ' , ob_get_contents ());
120
+
121
+ ob_clean ();
122
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test/1938-11-10 ' );
123
+ $ this ->router ->run ();
124
+ $ this ->assertEquals ('result: 1938-11-10 ' , ob_get_contents ());
125
+
126
+ // Cleanup
127
+ ob_end_clean ();
128
+ }
129
+
130
+ public function testPostRequestMethod ()
131
+ {
132
+ $ this ->router ->post ('/test ' , function () {
133
+ return "success " ;
134
+ });
135
+
136
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'POST ' );
137
+
138
+ ob_start ();
139
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
140
+ $ this ->router ->run ();
141
+ $ this ->assertEquals ('success ' , ob_get_contents ());
142
+
143
+ // Cleanup
144
+ ob_end_clean ();
145
+ }
146
+
147
+ public function testPutRequestMethod ()
148
+ {
149
+ $ this ->router ->put ('/test ' , function () {
150
+ return "success " ;
151
+ });
152
+
153
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'PUT ' );
154
+
155
+ ob_start ();
156
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
157
+ $ this ->router ->run ();
158
+ $ this ->assertEquals ('success ' , ob_get_contents ());
159
+
160
+ // Cleanup
161
+ ob_end_clean ();
162
+ }
163
+
164
+ public function testDeleteRequestMethod ()
165
+ {
166
+ $ this ->router ->delete ('/test ' , function () {
167
+ return "success " ;
168
+ });
169
+
170
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'DELETE ' );
171
+
172
+ ob_start ();
173
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
174
+ $ this ->router ->run ();
175
+ $ this ->assertEquals ('success ' , ob_get_contents ());
176
+
177
+ // Cleanup
178
+ ob_end_clean ();
179
+ }
180
+
181
+ public function testPatchRequestMethod ()
182
+ {
183
+ $ this ->router ->patch ('/test ' , function () {
184
+ return "success " ;
185
+ });
186
+
187
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'PATCH ' );
188
+
189
+ ob_start ();
190
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
191
+ $ this ->router ->run ();
192
+ $ this ->assertEquals ('success ' , ob_get_contents ());
193
+
194
+ // Cleanup
195
+ ob_end_clean ();
196
+ }
197
+
198
+ public function testOptionsRequestMethod ()
199
+ {
200
+ $ this ->router ->options ('/test ' , function () {
201
+ return "success " ;
202
+ });
203
+
204
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'OPTIONS ' );
205
+
206
+ ob_start ();
207
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
208
+ $ this ->router ->run ();
209
+ $ this ->assertEquals ('success ' , ob_get_contents ());
210
+
211
+ // Cleanup
212
+ ob_end_clean ();
213
+ }
214
+
215
+ public function testXGetRequestMethod ()
216
+ {
217
+ $ this ->router ->xget ('/test ' , function () {
218
+ return "success " ;
219
+ });
220
+
221
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'XGET ' );
222
+ $ this ->request ->server ->set ('X-Requested-With ' , 'XMLHttpRequest ' );
223
+
224
+ ob_start ();
225
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
226
+ $ this ->router ->run ();
227
+ $ this ->assertEquals ('success ' , ob_get_contents ());
228
+
229
+ // Cleanup
230
+ ob_end_clean ();
231
+ }
232
+
233
+ public function testXPostRequestMethod ()
234
+ {
235
+ $ this ->router ->xpost ('/test ' , function () {
236
+ return "success " ;
237
+ });
238
+
239
+ $ this ->request ->server ->set ('REQUEST_METHOD ' , 'XPOST ' );
240
+ $ this ->request ->server ->set ('X-Requested-With ' , 'XMLHttpRequest ' );
241
+
242
+ ob_start ();
243
+ $ this ->request ->server ->set ('REQUEST_URI ' , '/test ' );
244
+ $ this ->router ->run ();
245
+ $ this ->assertEquals ('success ' , ob_get_contents ());
246
+
247
+ // Cleanup
248
+ ob_end_clean ();
249
+ }
85
250
}
0 commit comments