@@ -82,6 +82,70 @@ public function testNoGroupVersionThrowsException()
8282 });
8383 }
8484
85+ public function testMatchRoutes ()
86+ {
87+ $ this ->router ->version ('v1 ' , function ($ api ) {
88+ $ api ->match (['get ' , 'post ' ], 'foo ' , function () {
89+ return 'bar ' ;
90+ });
91+ });
92+
93+ $ this ->router ->setConditionalRequest (false );
94+
95+ $ response = $ this ->router ->dispatch (
96+ $ request = $ this ->createRequest ('foo ' , 'GET ' , ['accept ' => 'application/vnd.api.v1+json ' ])
97+ );
98+
99+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
100+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
101+
102+ $ response = $ this ->router ->dispatch (
103+ $ request = $ this ->createRequest ('foo ' , 'POST ' , ['accept ' => 'application/vnd.api.v1+json ' ])
104+ );
105+
106+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
107+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
108+ }
109+
110+ public function testAnyRoutes ()
111+ {
112+ $ this ->router ->version ('v1 ' , function ($ api ) {
113+ $ api ->any ('foo ' , function () {
114+ return 'bar ' ;
115+ });
116+ });
117+
118+ $ this ->router ->setConditionalRequest (false );
119+
120+ $ response = $ this ->router ->dispatch (
121+ $ request = $ this ->createRequest ('foo ' , 'GET ' , ['accept ' => 'application/vnd.api.v1+json ' ])
122+ );
123+
124+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
125+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
126+
127+ $ response = $ this ->router ->dispatch (
128+ $ request = $ this ->createRequest ('foo ' , 'POST ' , ['accept ' => 'application/vnd.api.v1+json ' ])
129+ );
130+
131+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
132+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
133+
134+ $ response = $ this ->router ->dispatch (
135+ $ request = $ this ->createRequest ('foo ' , 'PATCH ' , ['accept ' => 'application/vnd.api.v1+json ' ])
136+ );
137+
138+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
139+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
140+
141+ $ response = $ this ->router ->dispatch (
142+ $ request = $ this ->createRequest ('foo ' , 'DELETE ' , ['accept ' => 'application/vnd.api.v1+json ' ])
143+ );
144+
145+ $ this ->assertEquals (200 , $ response ->getStatusCode ());
146+ $ this ->assertEquals ('bar ' , $ response ->getContent ());
147+ }
148+
85149 public function testRouterPreparesNotModifiedResponse ()
86150 {
87151 $ this ->router ->version ('v1 ' , function () {
0 commit comments