source: Dev/branches/rest-dojo-ui/server/tonic/tests/request.php @ 274

Last change on this file since 274 was 256, checked in by hendrikvanantwerpen, 13 years ago

Reworked project structure based on REST interaction and Dojo library. As
soon as this is stable, the old jQueryUI branch can be removed (it's
kept for reference).

File size: 25.2 KB
Line 
1<?php
2
3require_once('def/request.php');
4
5/**
6 * @namespace Tonic\Tests
7 */
8class RequestTester extends UnitTestCase {
9   
10    function testRequestURI() {
11       
12        $config = array(
13            'uri' => '/requesttest/one/two'
14        );
15        $request = new Request($config);
16        $this->assertEqual($request->uri, $config['uri']);
17       
18        $_SERVER['REQUEST_URI'] = '/requesttest/one/two';
19        $request = new Request();
20        $this->assertEqual($request->uri, $config['uri']);
21       
22    }
23   
24    function testRequestBaseUri() {
25       
26        $config = array(
27            'baseUri' => '/some/sub/dir'
28        );
29       
30        $request = new Request($config);
31       
32        $this->assertEqual($request->baseUri, $config['baseUri']);
33       
34    }
35   
36    function testAssignMimetypes() {
37       
38        $config = array(
39            'mimetypes' => array(
40                'some' => 'text/something'
41            )
42        );
43        $request = new Request($config);
44        $this->assertEqual($request->mimetypes['some'], 'text/something');
45       
46    }
47   
48    function testGetRequestMethod() {
49       
50        $config = array();
51       
52        $request = new Request($config);
53       
54        $this->assertEqual($request->method, 'GET');
55       
56    }
57   
58    function testPostRequestMethodWithData() {
59       
60        $config = array(
61            'method' => 'post',
62            'data' => 'some data'
63        );
64       
65        $request = new Request($config);
66       
67        $this->assertEqual($request->method, 'POST');
68        $this->assertEqual($request->data, 'some data');
69       
70    }
71   
72    function testPutRequestMethodWithData() {
73       
74        $config = array(
75            'method' => 'put',
76            'data' => 'some data'
77        );
78       
79        $request = new Request($config);
80       
81        $this->assertEqual($request->method, 'PUT');
82        $this->assertEqual($request->data, 'some data');
83       
84    }
85   
86    function testConnegOnBareURI() {
87       
88        $config = array(
89            'uri' => '/requesttest/one/two',
90            'accept' => '',
91            'acceptLang' => ''
92        );
93       
94        $request = new Request($config);
95        $this->assertEqual($request->negotiatedUris, array(
96            '/requesttest/one/two'
97        ));
98        $this->assertEqual($request->formatNegotiatedUris, array(
99            '/requesttest/one/two'
100        ));
101        $this->assertEqual($request->languageNegotiatedUris, array(
102            '/requesttest/one/two'
103        ));
104        $this->assertEqual($request->uri, '/requesttest/one/two');
105   
106    }
107   
108    function testConnegOnExtensionURI() {
109       
110        $config = array(
111            'uri' => '/requesttest/one/two.html',
112            'accept' => '',
113            'acceptLang' => ''
114        );
115       
116        $request = new Request($config);
117        $this->assertEqual($request->negotiatedUris, array(
118            '/requesttest/one/two.html',
119            '/requesttest/one/two'
120        ));
121        $this->assertEqual($request->formatNegotiatedUris, array(
122            '/requesttest/one/two.html',
123            '/requesttest/one/two'
124        ));
125        $this->assertEqual($request->languageNegotiatedUris, array(
126            '/requesttest/one/two.html',
127            '/requesttest/one/two'
128        ));
129        $this->assertEqual($request->uri, '/requesttest/one/two');
130       
131    }
132   
133    function testConnegOnBareURIWithAccept() {
134       
135        $config = array(
136            'uri' => '/requesttest/one/two',
137            'accept' => 'image/png;q=0.5,text/html',
138            'acceptLang' => ''
139        );
140       
141        $request = new Request($config);
142        $this->assertEqual($request->negotiatedUris, array(
143            '/requesttest/one/two.html',
144            '/requesttest/one/two.png',
145            '/requesttest/one/two'
146        ));
147        $this->assertEqual($request->formatNegotiatedUris, array(
148            '/requesttest/one/two.html',
149            '/requesttest/one/two.png',
150            '/requesttest/one/two'
151        ));
152        $this->assertEqual($request->languageNegotiatedUris, array(
153            '/requesttest/one/two'
154        ));
155       
156    }
157   
158    function testConnegOnExtensionURIWithAccept() {
159       
160        $config = array(
161            'uri' => '/requesttest/one/two.html',
162            'accept' => 'image/png;q=0.5,text/html',
163            'acceptLang' => ''
164        );
165       
166        $request = new Request($config);
167        $this->assertEqual($request->negotiatedUris, array(
168            '/requesttest/one/two.html',
169            '/requesttest/one/two.png.html',
170            '/requesttest/one/two.png',
171            '/requesttest/one/two'
172        ));
173        $this->assertEqual($request->formatNegotiatedUris, array(
174            '/requesttest/one/two.html',
175            '/requesttest/one/two.png',
176            '/requesttest/one/two'
177        ));
178        $this->assertEqual($request->languageNegotiatedUris, array(
179            '/requesttest/one/two.html',
180            '/requesttest/one/two'
181        ));
182       
183    }
184   
185    function testConnegOnBareURIWithAcceptLang() {
186       
187        $config = array(
188            'uri' => '/requesttest/one/two',
189            'accept' => '',
190            'acceptLang' => 'fr;q=0.5,en'
191        );
192       
193        $request = new Request($config);
194        $this->assertEqual($request->negotiatedUris, array(
195            '/requesttest/one/two.en',
196            '/requesttest/one/two.fr',
197            '/requesttest/one/two'
198        ));
199        $this->assertEqual($request->formatNegotiatedUris, array(
200            '/requesttest/one/two'
201        ));
202        $this->assertEqual($request->languageNegotiatedUris, array(
203            '/requesttest/one/two.en',
204            '/requesttest/one/two.fr',
205            '/requesttest/one/two'
206        ));
207       
208    }
209   
210    function testConnegOnExtensionURIWithAcceptLang() {
211       
212        $config = array(
213            'uri' => '/requesttest/one/two.html',
214            'accept' => '',
215            'acceptLang' => 'fr;q=0.5,en'
216        );
217       
218        $request = new Request($config);
219        $this->assertEqual($request->negotiatedUris, array(
220            '/requesttest/one/two.html.en',
221            '/requesttest/one/two.html.fr',
222            '/requesttest/one/two.html',
223            '/requesttest/one/two.en',
224            '/requesttest/one/two.fr',
225            '/requesttest/one/two'
226        ));
227        $this->assertEqual($request->formatNegotiatedUris, array(
228            '/requesttest/one/two.html',
229            '/requesttest/one/two'
230        ));
231        $this->assertEqual($request->languageNegotiatedUris, array(
232            '/requesttest/one/two.html',
233            '/requesttest/one/two.en',
234            '/requesttest/one/two.fr',
235            '/requesttest/one/two'
236        ));
237       
238    }
239   
240    function testConnegOnBareURIWithAcceptAndAcceptLang() {
241       
242        $config = array(
243            'uri' => '/requesttest/one/two',
244            'accept' => 'image/png;q=0.5,text/html',
245            'acceptLang' => 'fr;q=0.5,en'
246        );
247       
248        $request = new Request($config);
249        $this->assertEqual($request->negotiatedUris, array(
250            '/requesttest/one/two.html.en',
251            '/requesttest/one/two.html.fr',
252            '/requesttest/one/two.html',
253            '/requesttest/one/two.png.en',
254            '/requesttest/one/two.png.fr',
255            '/requesttest/one/two.png',
256            '/requesttest/one/two.en',
257            '/requesttest/one/two.fr',
258            '/requesttest/one/two'
259        ));
260        $this->assertEqual($request->formatNegotiatedUris, array(
261            '/requesttest/one/two.html',
262            '/requesttest/one/two.png',
263            '/requesttest/one/two'
264        ));
265        $this->assertEqual($request->languageNegotiatedUris, array(
266            '/requesttest/one/two.en',
267            '/requesttest/one/two.fr',
268            '/requesttest/one/two'
269        ));
270       
271    }
272   
273    function testConnegOnExtensionURIWithAcceptAndAcceptLang() {
274       
275        $config = array(
276            'uri' => '/requesttest/one/two.html',
277            'accept' => 'image/png;q=0.5,text/html',
278            'acceptLang' => 'fr;q=0.5,en'
279        );
280       
281        $request = new Request($config);
282        $this->assertEqual($request->negotiatedUris, array(
283            '/requesttest/one/two.html.en',
284            '/requesttest/one/two.html.fr',
285            '/requesttest/one/two.html',
286            '/requesttest/one/two.png.html',
287            '/requesttest/one/two.png.en',
288            '/requesttest/one/two.png.fr',
289            '/requesttest/one/two.png',
290            '/requesttest/one/two.en',
291            '/requesttest/one/two.fr',
292            '/requesttest/one/two'
293        ));
294        $this->assertEqual($request->formatNegotiatedUris, array(
295            '/requesttest/one/two.html',
296            '/requesttest/one/two.png',
297            '/requesttest/one/two'
298        ));
299        $this->assertEqual($request->languageNegotiatedUris, array(
300            '/requesttest/one/two.html',
301            '/requesttest/one/two.en',
302            '/requesttest/one/two.fr',
303            '/requesttest/one/two'
304        ));
305       
306    }
307   
308    function testResourceLoaderWithNoResources() {
309       
310        $config = array(
311            'uri' => '/three'
312        );
313       
314        $request = new Request($config);
315       
316        try {
317            $resource = $request->loadResource();
318            $this->fail('Expected ResponseException to be thrown');
319        } catch (ResponseException $e) {
320            $this->assertEqual($e->getCode(), 404);
321        }
322       
323    }
324   
325    function testResourceLoaderWithAResources() {
326       
327        $config = array(
328            'uri' => '/requesttest/one'
329        );
330       
331        $request = new Request($config);
332        $resource = $request->loadResource();
333       
334        $this->assertPattern('/NewResource/', get_class($resource));
335       
336    }
337   
338    function testResourceLoaderWithAChildResources() {
339       
340        $config = array(
341            'uri' => '/requesttest/one/two'
342        );
343       
344        $request = new Request($config);
345        $resource = $request->loadResource();
346       
347        $this->assertPattern('/ChildResource/', get_class($resource));
348       
349    }
350   
351    function testResourceLoaderWithRegexURIMatch() {
352       
353        $config = array(
354            'uri' => '/requesttest/three/something/four'
355        );
356       
357        $request = new Request($config);
358        $resource = $request->loadResource();
359       
360        $this->assertPattern('/NewResource/', get_class($resource));
361        $this->assertPattern('/0: something/', $resource);
362       
363    }
364   
365    function testIfMatch() {
366       
367        $config = array(
368            'uri' => '/requesttest/one',
369            'ifMatch' => '123123'
370        );
371        $request = new Request($config);
372        $this->assertEqual($request->ifMatch, array('123123'));
373       
374        $config = array(
375            'uri' => '/requesttest/one',
376            'ifMatch' => '"123123"'
377        );
378        $request = new Request($config);
379        $this->assertEqual($request->ifMatch, array('123123'));
380       
381        $config = array(
382            'uri' => '/requesttest/one',
383            'ifMatch' => '"123123","456456"'
384        );
385        $request = new Request($config);
386        $this->assertEqual($request->ifMatch, array('123123', '456456'));
387       
388        $config = array(
389            'uri' => '/requesttest/one',
390            'ifMatch' => '"123123", "456456"'
391        );
392        $request = new Request($config);
393        $this->assertEqual($request->ifMatch, array('123123', '456456'));
394        $this->assertTrue($request->ifMatch('123123'));
395        $this->assertFalse($request->ifMatch('123456'));
396       
397        $config = array(
398            'uri' => '/requesttest/one',
399            'ifMatch' => '*'
400        );
401        $request = new Request($config);
402        $this->assertEqual($request->ifMatch, array('*'));
403        $this->assertTrue($request->ifMatch('123123'));
404        $this->assertTrue($request->ifMatch('123456'));
405       
406    }
407   
408    function testIfNoneMatch() {
409       
410        $config = array(
411            'uri' => '/requesttest/one',
412            'ifNoneMatch' => '123123'
413        );
414        $request = new Request($config);
415        $this->assertEqual($request->ifNoneMatch, array('123123'));
416       
417        $config = array(
418            'uri' => '/requesttest/one',
419            'ifNoneMatch' => '"123123"'
420        );
421        $request = new Request($config);
422        $this->assertEqual($request->ifNoneMatch, array('123123'));
423       
424        $config = array(
425            'uri' => '/requesttest/one',
426            'ifNoneMatch' => '"123123","456456"'
427        );
428        $request = new Request($config);
429        $this->assertEqual($request->ifNoneMatch, array('123123', '456456'));
430       
431        $config = array(
432            'uri' => '/requesttest/one',
433            'ifNoneMatch' => '123123, 456456'
434        );
435        $request = new Request($config);
436        $this->assertEqual($request->ifNoneMatch, array('123123', '456456'));
437        $this->assertTrue($request->ifNoneMatch('123123'));
438        $this->assertFalse($request->ifNoneMatch('123456'));
439       
440        $config = array(
441            'uri' => '/requesttest/one',
442            'ifNoneMatch' => '*'
443        );
444        $request = new Request($config);
445        $this->assertEqual($request->ifNoneMatch, array('*'));
446        $this->assertFalse($request->ifNoneMatch('123123'));
447        $this->assertFalse($request->ifNoneMatch('123456'));
448       
449        $config = array(
450            'uri' => '/requesttest/one',
451            'ifNoneMatch' => '123123, 456456',
452            'ifMatch' => '*'
453        );
454        $request = new Request($config);
455        $this->assertEqual($request->ifMatch, array('*'));
456        $this->assertTrue($request->ifMatch('123123'));
457        $this->assertTrue($request->ifMatch('123456'));
458        $this->assertFalse($request->ifNoneMatch('123123'));
459        $this->assertFalse($request->ifNoneMatch('123456'));
460       
461    }
462   
463    function test404NotFound() {
464       
465        $config = array(
466            'uri' => '/requesttest/notfound'
467        );
468        $request = new Request($config);
469       
470        try {
471            $resource = $request->loadResource();
472            $this->fail('Expected ResponseException to be thrown');
473        } catch (ResponseException $e) {
474            $this->assertEqual($e->getCode(), 404);
475        }
476       
477    }
478   
479    function testResourceDataLoading() {
480       
481        $config = array(
482            'uri' => '/requesttest/one/two'
483        );
484       
485        $request = new Request($config);
486       
487        $this->assertEqual($request->resources['/requesttest/one/two']['namespace'], 'Tonic\Tests');
488        $this->assertPattern('/ChildResource/', $request->resources['/requesttest/one/two']['class']);
489        $this->assertPattern('|def/request\.php|', $request->resources['/requesttest/one/two']['filename']);
490        $this->assertEqual($request->resources['/requesttest/one/two']['priority'], 0);
491       
492    }
493   
494    function testNamespaceMounting() {
495       
496        $config = array(
497            'uri' => '/foo/bar/requesttest/one',
498            'mount' => array(
499                'Tonic\Tests' => '/foo/bar'
500            )
501        );
502       
503        $request = new Request($config);
504       
505        $resource = $request->loadResource();
506       
507        $this->assertPattern('/NewResource/', get_class($resource));
508       
509    }
510   
511    function testURITemplateStyleUriParameters() {
512       
513        $config = array(
514            'uri' => '/requesttest/uritemplatestyle/woo/yay'
515        );
516       
517        $request = new Request($config);
518        $resource = $request->loadResource();
519       
520        $this->assertPattern('/TwoUriParams/', get_class($resource));
521        $this->assertPattern('/param: woo/', $resource);
522        $this->assertPattern('/param2: yay/', $resource);
523       
524        $resource->exec($request);
525        $this->assertEqual($resource->receivedParams['param'], 'woo');
526        $this->assertEqual($resource->receivedParams['param2'], 'yay');
527       
528       
529        $config = array(
530            'uri' => '/requesttest/uritemplatemixedstyle/woo/yay/foo/bar'
531        );
532       
533        $request = new Request($config);
534        $resource = $request->loadResource();
535       
536        $this->assertPattern('/FourUriParams/', get_class($resource));
537        $this->assertPattern('/param: woo/', $resource);
538        $this->assertPattern('/1: yay/', $resource);
539        $this->assertPattern('/param2: foo/', $resource);
540        $this->assertPattern('/3: bar/', $resource);
541       
542        $resource->exec($request);
543        $this->assertEqual($resource->receivedParams['param'], 'woo');
544        $this->assertEqual($resource->receivedParams['something'], 'yay');
545        $this->assertEqual($resource->receivedParams['param2'], 'foo');
546        $this->assertEqual($resource->receivedParams['otherthing'], 'bar');
547    }
548   
549    function testRailsStyleUriParameters() {
550       
551        $config = array(
552            'uri' => '/requesttest/railsstyle/woo/yay'
553        );
554       
555        $request = new Request($config);
556        $resource = $request->loadResource();
557       
558        $this->assertPattern('/TwoUriParams/', get_class($resource));
559        $this->assertPattern('/param: woo/', $resource);
560        $this->assertPattern('/param2: yay/', $resource);
561       
562        $resource->exec($request);
563        $this->assertEqual($resource->receivedParams['param'], 'woo');
564        $this->assertEqual($resource->receivedParams['param2'], 'yay');
565       
566       
567        $config = array(
568            'uri' => '/requesttest/railsmixedstyle/woo/yay/foo/bar'
569        );
570       
571        $request = new Request($config);
572        $resource = $request->loadResource();
573       
574        $this->assertPattern('/FourUriParams/', get_class($resource));
575        $this->assertPattern('/param: woo/', $resource);
576        $this->assertPattern('/1: yay/', $resource);
577        $this->assertPattern('/param2: foo/', $resource);
578        $this->assertPattern('/3: bar/', $resource);
579       
580        $resource->exec($request);
581        $this->assertEqual($resource->receivedParams['param'], 'woo');
582        $this->assertEqual($resource->receivedParams['something'], 'yay');
583        $this->assertEqual($resource->receivedParams['param2'], 'foo');
584        $this->assertEqual($resource->receivedParams['otherthing'], 'bar');
585    }
586   
587    function testMixedStyleUriParameters() {
588       
589        $config = array(
590            'uri' => '/requesttest/mixedstyle/woo/yay/foo/bar'
591        );
592       
593        $request = new Request($config);
594        $resource = $request->loadResource();
595       
596        $this->assertPattern('/FourUriParams/', get_class($resource));
597        $this->assertPattern('/param: woo/', $resource);
598        $this->assertPattern('/1: yay/', $resource);
599        $this->assertPattern('/param2: foo/', $resource);
600        $this->assertPattern('/3: bar/', $resource);
601       
602        $resource->exec($request);
603        $this->assertEqual($resource->receivedParams['param'], 'woo');
604        $this->assertEqual($resource->receivedParams['something'], 'yay');
605        $this->assertEqual($resource->receivedParams['param2'], 'foo');
606        $this->assertEqual($resource->receivedParams['otherthing'], 'bar');
607    }
608   
609    function testAutoloadingOfResourcesWithoutAutoloadFunction() {
610       
611        $config = array(
612            'uri' => '/requesttest/autoload',
613            'autoload' => array(
614                '/requesttest/autoload' => 'Autoload'
615            )
616        );
617       
618        $request = new Request($config);
619       
620        $this->expectException(new PatternExpectation('/Unable to load resource/'));
621        $resource = $request->loadResource();
622       
623    }
624   
625    function testAutoloadingOfResources() {
626       
627        $config = array(
628            'uri' => '/requesttest/autoload',
629            'autoload' => array(
630                '/requesttest/autoload' => 'Autoload'
631            )
632        );
633       
634        function __autoload($className) {
635            if (file_exists('def/'.$className.'.php')) {
636                require_once 'def/'.$className.'.php';
637            }
638        }
639       
640        $request = new Request($config);
641        $resource = $request->loadResource();
642       
643        $this->assertPattern('/Autoload/', get_class($resource));
644        $this->assertPattern('/Class: Autoload/', $request);
645        $this->assertPattern('|File: '.dirname(__FILE__).DIRECTORY_SEPARATOR.'def/Autoload.php|', $request);
646       
647    }
648   
649    function testTrailingSlashRemoval() {
650       
651        $config = array(
652            'uri' => '/requesttest/trailingslashurl/'
653        );
654        $request = new Request($config);
655        $this->assertEqual($request->uri, substr($config['uri'], 0, -1));
656       
657    }
658   
659    function testRequestRootURI() {
660       
661        $config = array(
662            'uri' => '/'
663        );
664        $request = new Request($config);
665        $this->assertEqual($request->uri, $config['uri']);
666       
667        $_SERVER['REQUEST_URI'] = '/';
668        $request = new Request();
669        $this->assertEqual($request->uri, $config['uri']);
670       
671    }
672   
673    function testMethodNotAllowed() {
674       
675        $config = array(
676            'uri' => '/requesttest/one',
677            'method' => 'PUT'
678        );
679       
680        $request = new Request($config);
681        $resource = $request->loadResource();
682       
683        try {
684            $response = $resource->exec($request);
685            $this->fail('Expected ResponseException to be thrown');
686        } catch (ResponseException $e) {
687            $this->assertEqual($e->getCode(), 405);
688        }
689       
690    }
691   
692    function testOptionalRegexURIParams() {
693       
694        $config = array(
695            'uri' => '/requesttest/optional'
696        );
697       
698        $request = new Request($config);
699        $resource = $request->loadResource();
700       
701        $this->assertPattern('/OptionalParams/', get_class($resource));
702        $this->assertNoPattern('/0: /', $resource);
703       
704        $config = array(
705            'uri' => '/requesttest/optional/param1/woo'
706        );
707       
708        $request = new Request($config);
709        $resource = $request->loadResource();
710       
711        $this->assertPattern('/OptionalParams/', get_class($resource));
712        $this->assertPattern('/0: woo/', $resource);
713       
714        $config = array(
715            'uri' => '/requesttest/optional/something'
716        );
717       
718        $request = new Request($config);
719        $resource = $request->loadResource();
720       
721        $this->assertPattern('/OptionalParams/', get_class($resource));
722        $this->assertPattern('/0: something/', $resource);
723       
724    }
725   
726    function testResourceLoaderWithSquigglyBraceRegexURIMatch() {
727       
728        $config = array(
729            'uri' => '/requesttest/squiggly/9999-aaaaaaaa-bbbbbb'
730        );
731       
732        $request = new Request($config);
733        $resource = $request->loadResource();
734       
735        $this->assertPattern('/SquigglyRegexResource/', get_class($resource));
736       
737        $config = array(
738            'uri' => '/requesttest/squiggly/9999-aaa-bbb'
739        );
740       
741        $request = new Request($config);
742       
743        try {
744            $resource = $request->loadResource();
745            $this->fail('Expected ResponseException to be thrown');
746        } catch (ResponseException $e) {
747            $this->assertTrue(TRUE);
748        }
749       
750    }
751   
752    function testResourceLoaderWithNonCapturingGroupRegexURIMatch() {
753       
754        $config = array(
755            'uri' => '/requesttest/noncapture/something'
756        );
757       
758        $request = new Request($config);
759        $resource = $request->loadResource();
760       
761        $this->assertPattern('/SquigglyRegexResource/', get_class($resource));
762       
763    }
764   
765    function testAllowedHTTPMethods() {
766       
767        $config = array(
768            'uri' => '/requesttest/httpmethods',
769            'method' => 'OPTIONS'
770        );
771       
772        $request = new Request($config);
773        $resource = $request->loadResource();
774       
775        try {
776            $response = $resource->exec($request);
777            $this->assertTrue(TRUE);
778        } catch (ResponseException $e) {
779            $this->fail('Did not expect ResponseException to be thrown');
780        }
781       
782        $config = array(
783            'uri' => '/requesttest/httpmethods',
784            'method' => 'WOOT'
785        );
786       
787        $request = new Request($config);
788        $resource = $request->loadResource();
789       
790        try {
791            $response = $resource->exec($request);
792            $this->fail('Expected ResponseException to be thrown');
793        } catch (ResponseException $e) {
794            $this->assertTrue(TRUE);
795        }
796       
797    }
798   
799    function testURIPriority() {
800       
801        // with same @uri
802       
803        $config = array(
804            'uri' => '/requesttest/priority'
805        );
806       
807        $request = new Request($config);
808        $resource = $request->loadResource();
809       
810        $this->assertEqual(get_class($resource), 'PriorityTestMoreImportantResource');
811       
812        // with different @uri
813       
814        $config = array(
815            'uri' => '/requesttest/differenturipriority'
816        );
817       
818        $request = new Request($config);
819        $resource = $request->loadResource();
820       
821        $this->assertEqual(get_class($resource), 'PriorityTestDifferntURIMoreImportantResource');
822       
823    }
824   
825}
826
Note: See TracBrowser for help on using the repository browser.