2 require_once(
"libs/composer/vendor/autoload.php");
9 const URI_COMPLETE =
'g+it://github.com:8080/someaccount/somerepo/somerepo.git?query_par_1=val_1&query_par_2=val_2#fragment';
11 const URI_COMPLETE_IPV4 =
'g+it://10.0.0.86:8080/someaccount/somerepo/somerepo.git/?query_par_1=val_1&query_par_2=val_2#fragment';
13 const URI_COMPLETE_LOCALHOST =
'g+it://localhost:8080/someaccount/somerepo/somerepo.git/?query_par_1=val_1&query_par_2=val_2#fragment';
16 const URI_NO_PATH_1 =
'g-it://ilias%2Da.de:8080?query_par_1=val_1&query_par_2=val_2#fragment';
17 const URI_NO_PATH_2 =
'g.it://amaz;on.co.uk:8080/?query_par_1=val_1&query_par_2=val_2#fragment';
19 const URI_NO_QUERY_1 =
'git://one-letter-top-level.a:8080/someaccount/somerepo/somerepo.git/#fragment';
20 const URI_NO_QUERY_2 =
'git://github.com:8080/someaccount/somerepo/somerepo.git#fragment';
29 const URI_PATH =
'git://git$,;hub.com:8080/someacc$,;ount/somerepo/somerepo.git/';
33 const URI_NO_SCHEMA =
'git$,;hub.com:8080/someacc$,;ount/somerepo/somerepo.git/';
35 const URI_NO_AUTHORITY =
'git://:8080/someaccount/somerepo/somerepo.git/?query_par_1=val_1&query_par_2=val_2#fragment';
43 const URI_INVALID =
'https://host.de/ilias.php/"><script>alert(1)</script>?baseClass=ilObjChatroomGUI&cmd=getOSDNotifications&cmdMode=asynch&max_age=15192913';
45 const URI_FAKEPCENC =
'g+it://github.com:8080/someaccoun%t/somerepo/somerepo.git/?query_par_1=val_1&query_par_2=val_2#fragment';
47 const URI_REALPCTENC =
'g+it://github.com:8080/someaccount%2Fsomerepo/som%2brepo.git/?par_lower=val_%2b&par_upper=val_%C3%A1#fragment';
50 'par_lower' =>
'val_+',
51 'par_upper' =>
'val_รก' 60 const URI_BASE =
'git://github.com:8080/someaccount/somerepo/somerepo.git';
81 $this->assertEquals($uri->getSchema(),
'g+it');
82 $this->assertEquals($uri->getAuthority(),
'10.0.0.86:8080');
83 $this->assertEquals($uri->getHost(),
'10.0.0.86');
84 $this->assertEquals($uri->getPort(), 8080);
85 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
86 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
87 $this->assertEquals($uri->getFragment(),
'fragment');
97 $this->assertEquals($uri->getSchema(),
'g+it');
98 $this->assertEquals($uri->getAuthority(),
'localhost:8080');
99 $this->assertEquals($uri->getHost(),
'localhost');
100 $this->assertEquals($uri->getPort(), 8080);
101 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
102 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
103 $this->assertEquals($uri->getFragment(),
'fragment');
112 $this->assertEquals($uri->getSchema(),
'g+it');
113 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
114 $this->assertEquals($uri->getHost(),
'github.com');
115 $this->assertEquals($uri->getPort(),
'8080');
116 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
117 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
118 $this->assertEquals($uri->getFragment(),
'fragment');
126 $this->assertEquals($uri->getBaseURI(),
'g+it://github.com:8080/someaccount/somerepo/somerepo.git');
134 $base_uri = $uri->getBaseURI();
135 $this->assertEquals($base_uri,
'g+it://github.com:8080/someaccount/somerepo/somerepo.git');
136 $this->assertEquals($uri->getSchema(),
'g+it');
137 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
138 $this->assertEquals($uri->getHost(),
'github.com');
139 $this->assertEquals($uri->getPort(),
'8080');
140 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
141 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
142 $this->assertEquals($uri->getFragment(),
'fragment');
145 $this->assertEquals($base_uri, $uri->getBaseURI());
146 $this->assertEquals($uri->getSchema(),
'g+it');
147 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
148 $this->assertEquals($uri->getHost(),
'github.com');
149 $this->assertEquals($uri->getPort(),
'8080');
150 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
151 $this->assertNull($uri->getQuery());
152 $this->assertNull($uri->getFragment());
162 $this->assertEquals($uri->getSchema(),
'g-it');
163 $this->assertEquals($uri->getAuthority(),
'ilias%2Da.de:8080');
164 $this->assertEquals($uri->getHost(),
'ilias%2Da.de');
165 $this->assertEquals($uri->getPort(),
'8080');
166 $this->assertNull($uri->getPath());
167 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
168 $this->assertEquals($uri->getFragment(),
'fragment');
171 $this->assertEquals($uri->getSchema(),
'g.it');
172 $this->assertEquals($uri->getAuthority(),
'amaz;on.co.uk:8080');
173 $this->assertEquals($uri->getHost(),
'amaz;on.co.uk');
174 $this->assertEquals($uri->getPort(),
'8080');
175 $this->assertNull($uri->getPath());
176 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
177 $this->assertEquals($uri->getFragment(),
'fragment');
186 $this->assertEquals($uri->getSchema(),
'git');
187 $this->assertEquals($uri->getAuthority(),
'one-letter-top-level.a:8080');
188 $this->assertEquals($uri->getHost(),
'one-letter-top-level.a');
189 $this->assertEquals($uri->getPort(),
'8080');
190 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
191 $this->assertNull($uri->getQuery());
192 $this->assertEquals($uri->getFragment(),
'fragment');
195 $this->assertEquals($uri->getSchema(),
'git');
196 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
197 $this->assertEquals($uri->getHost(),
'github.com');
198 $this->assertEquals($uri->getPort(),
'8080');
199 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
200 $this->assertNull($uri->getQuery());
201 $this->assertEquals($uri->getFragment(),
'fragment');
210 $this->assertEquals($uri->getSchema(),
'git');
211 $this->assertEquals($uri->getAuthority(),
'github.com');
212 $this->assertEquals($uri->getHost(),
'github.com');
213 $this->assertNull($uri->getPort());
214 $this->assertNull($uri->getPath());
215 $this->assertEquals($uri->getQuery(),
'query_p$,;:A!\'*+()ar_1=val_1&quer?y_par_2=val_2');
216 $this->assertNull($uri->getFragment());
219 $this->assertEquals($uri->getSchema(),
'git');
220 $this->assertEquals($uri->getAuthority(),
'github.com');
221 $this->assertEquals($uri->getHost(),
'github.com');
222 $this->assertNull($uri->getPort());
223 $this->assertNull($uri->getPath());
224 $this->assertEquals($uri->getQuery(),
'qu/ery_p$,;:A!\'*+()ar_1=val_1&quer?y_par_2=val_2');
225 $this->assertNull($uri->getFragment());
234 $this->assertEquals($uri->getSchema(),
'git');
235 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
236 $this->assertEquals($uri->getHost(),
'github.com');
237 $this->assertEquals($uri->getPort(),
'8080');
238 $this->assertNull($uri->getPath());
239 $this->assertNull($uri->getQuery());
240 $this->assertEquals($uri->getFragment(),
'fragment$,;:A!\'*+()ar_1=val_1&');
248 $this->assertEquals($uri->getSchema(),
'git');
249 $this->assertEquals($uri->getAuthority(),
'git$,;hub.com:8080');
250 $this->assertEquals($uri->getHost(),
'git$,;hub.com');
251 $this->assertEquals($uri->getPort(),
'8080');
252 $this->assertEquals($uri->getPath(),
'someacc$,;ount/somerepo/somerepo.git');
253 $this->assertNull($uri->getQuery());
254 $this->assertEquals($uri->getFragment(),
'frag:A!\'*+()arment');
263 $this->assertEquals($uri->getSchema(),
'git');
264 $this->assertEquals($uri->getAuthority(),
'git$,;hub.com:8080');
265 $this->assertEquals($uri->getHost(),
'git$,;hub.com');
266 $this->assertEquals($uri->getPort(),
'8080');
267 $this->assertEquals($uri->getPath(),
'someacc$,;ount/somerepo/somerepo.git');
268 $this->assertNull($uri->getQuery());
269 $this->assertNull($uri->getFragment());
270 $this->assertEquals($uri->getBaseURI(),
'git://git$,;hub.com:8080/someacc$,;ount/somerepo/somerepo.git');
279 $this->assertEquals($uri->getSchema(),
'git');
280 $this->assertEquals($uri->getAuthority(),
'git$,;hub.com');
281 $this->assertEquals($uri->getHost(),
'git$,;hub.com');
282 $this->assertNull($uri->getPort());
283 $this->assertNull($uri->getPath());
284 $this->assertNull($uri->getQuery());
285 $this->assertNull($uri->getFragment());
286 $this->assertEquals($uri->getBaseURI(),
'git://git$,;hub.com');
294 $this->expectException(\TypeError::class);
303 $this->expectException(\TypeError::class);
312 $this->expectException(\TypeError::class);
321 $this->expectException(\InvalidArgumentException::class);
330 $this->expectException(\InvalidArgumentException::class);
339 $this->expectException(\InvalidArgumentException::class);
349 $this->assertEquals(self::PATH_REALPCTENC, $uri->getPath());
350 $this->assertEquals(self::PARAMS_REALPCTENC, $uri->getParameters());
358 $this->expectException(\InvalidArgumentException::class);
367 $this->expectException(\InvalidArgumentException::class);
376 $this->expectException(\InvalidArgumentException::class);
385 $this->expectException(\InvalidArgumentException::class);
394 $this->expectException(\InvalidArgumentException::class);
403 $this->expectException(\InvalidArgumentException::class);
412 $this->assertEquals($uri->getSchema(),
'g+it');
413 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
414 $this->assertEquals($uri->getHost(),
'github.com');
415 $this->assertEquals($uri->getPort(),
'8080');
416 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
417 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
418 $this->assertEquals($uri->getFragment(),
'fragment');
419 $uri = $uri->withSchema(
'http');
420 $this->assertEquals($uri->getSchema(),
'http');
421 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
422 $this->assertEquals($uri->getHost(),
'github.com');
423 $this->assertEquals($uri->getPort(),
'8080');
424 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
425 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
426 $this->assertEquals($uri->getFragment(),
'fragment');
434 $this->expectException(\InvalidArgumentException::class);
436 $uri->withSchema(
'');
444 $this->expectException(\InvalidArgumentException::class);
446 $uri->withSchema(
'1aa');
454 $this->assertEquals($uri->getSchema(),
'g+it');
455 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
456 $this->assertEquals($uri->getHost(),
'github.com');
457 $this->assertEquals($uri->getPort(),
'8080');
458 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
459 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
460 $this->assertEquals($uri->getFragment(),
'fragment');
461 $uri = $uri->withPort(80);
462 $this->assertEquals($uri->getSchema(),
'g+it');
463 $this->assertEquals($uri->getAuthority(),
'github.com:80');
464 $this->assertEquals($uri->getHost(),
'github.com');
465 $this->assertEquals($uri->getPort(),
'80');
466 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
467 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
468 $this->assertEquals($uri->getFragment(),
'fragment');
469 $uri = $uri->withPort();
470 $this->assertEquals($uri->getSchema(),
'g+it');
471 $this->assertEquals($uri->getAuthority(),
'github.com');
472 $this->assertEquals($uri->getHost(),
'github.com');
473 $this->assertNull($uri->getPort());
474 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
475 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
476 $this->assertEquals($uri->getFragment(),
'fragment');
485 $this->expectException(\TypeError::class);
487 $uri->withPort(
'a111');
495 $this->expectException(\TypeError::class);
497 $uri->withPort(
'foo');
505 $this->assertEquals($uri->getSchema(),
'g+it');
506 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
507 $this->assertEquals($uri->getHost(),
'github.com');
508 $this->assertEquals($uri->getPort(),
'8080');
509 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
510 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
511 $this->assertEquals($uri->getFragment(),
'fragment');
512 $uri = $uri->withHost(
'ilias.de');
513 $this->assertEquals($uri->getSchema(),
'g+it');
514 $this->assertEquals($uri->getAuthority(),
'ilias.de:8080');
515 $this->assertEquals($uri->getHost(),
'ilias.de');
516 $this->assertEquals($uri->getPort(),
'8080');
517 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
518 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
519 $this->assertEquals($uri->getFragment(),
'fragment');
528 $this->expectException(\InvalidArgumentException::class);
530 $uri->withHost(
'-foo-.de');
538 $this->expectException(\InvalidArgumentException::class);
548 $this->expectException(\InvalidArgumentException::class);
550 $uri->withHost(
'ilias.de"><script');
558 $this->assertEquals($uri->getSchema(),
'g+it');
559 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
560 $this->assertEquals($uri->getHost(),
'github.com');
561 $this->assertEquals($uri->getPort(),
'8080');
562 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
563 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
564 $this->assertEquals($uri->getFragment(),
'fragment');
565 $uri = $uri->withAuthority(
'www1.ilias.de');
566 $this->assertEquals($uri->getSchema(),
'g+it');
567 $this->assertEquals($uri->getAuthority(),
'www1.ilias.de');
568 $this->assertEquals($uri->getHost(),
'www1.ilias.de');
569 $this->assertNull($uri->getPort());
570 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
571 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
572 $this->assertEquals($uri->getFragment(),
'fragment');
573 $uri = $uri->withAuthority(
'ilias.de:80');
574 $this->assertEquals($uri->getSchema(),
'g+it');
575 $this->assertEquals($uri->getAuthority(),
'ilias.de:80');
576 $this->assertEquals($uri->getHost(),
'ilias.de');
577 $this->assertEquals($uri->getPort(),
'80');
578 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
579 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
580 $this->assertEquals($uri->getFragment(),
'fragment');
581 $uri = $uri->withAuthority(
'a:1');
582 $this->assertEquals($uri->getSchema(),
'g+it');
583 $this->assertEquals($uri->getAuthority(),
'a:1');
584 $this->assertEquals($uri->getHost(),
'a');
585 $this->assertEquals($uri->getPort(), 1);
586 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
587 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
588 $this->assertEquals($uri->getFragment(),
'fragment');
589 $uri = $uri->withAuthority(
'a');
590 $this->assertEquals($uri->getSchema(),
'g+it');
591 $this->assertEquals($uri->getAuthority(),
'a');
592 $this->assertEquals($uri->getHost(),
'a');
593 $this->assertNull($uri->getPort());
594 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
595 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
596 $this->assertEquals($uri->getFragment(),
'fragment');
597 $uri = $uri->withAuthority(
'1.2.3.4');
598 $this->assertEquals($uri->getSchema(),
'g+it');
599 $this->assertEquals($uri->getAuthority(),
'1.2.3.4');
600 $this->assertEquals($uri->getHost(),
'1.2.3.4');
601 $this->assertNull($uri->getPort());
602 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
603 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
604 $this->assertEquals($uri->getFragment(),
'fragment');
605 $uri = $uri->withAuthority(
'1.2.3.4:5');
606 $this->assertEquals($uri->getSchema(),
'g+it');
607 $this->assertEquals($uri->getAuthority(),
'1.2.3.4:5');
608 $this->assertEquals($uri->getHost(),
'1.2.3.4');
609 $this->assertEquals($uri->getPort(), 5);
610 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
611 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
612 $this->assertEquals($uri->getFragment(),
'fragment');
613 $uri = $uri->withAuthority(
'localhost1');
614 $this->assertEquals($uri->getSchema(),
'g+it');
615 $this->assertEquals($uri->getAuthority(),
'localhost1');
616 $this->assertEquals($uri->getHost(),
'localhost1');
617 $this->assertNull($uri->getPort());
618 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
619 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
620 $this->assertEquals($uri->getFragment(),
'fragment');
621 $uri = $uri->withAuthority(
'localhost1:10');
622 $this->assertEquals($uri->getSchema(),
'g+it');
623 $this->assertEquals($uri->getAuthority(),
'localhost1:10');
624 $this->assertEquals($uri->getHost(),
'localhost1');
625 $this->assertEquals($uri->getPort(), 10);
626 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
627 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
628 $this->assertEquals($uri->getFragment(),
'fragment');
636 $this->expectException(\InvalidArgumentException::class);
638 $uri->withAuthority(
'-foo-.de');
646 $this->expectException(\InvalidArgumentException::class);
648 $uri->withAuthority(
'-bar-.de:6060');
657 $this->expectException(\InvalidArgumentException::class);
659 $uri->withHost(
'ilias.de:');
667 $this->expectException(\InvalidArgumentException::class);
669 $uri->withHost(
'ilias.de: ');
677 $this->expectException(\InvalidArgumentException::class);
679 $uri->withHost(
'ilias.de:aaa');
687 $this->expectException(\InvalidArgumentException::class);
689 $uri->withAuthority(
'foo.de&<script>');
698 $this->expectException(\InvalidArgumentException::class);
700 $uri->withAuthority(
'foo.de"><script>alert');
709 $this->expectException(\InvalidArgumentException::class);
711 $uri->withAuthority(
' :80');
719 $this->assertEquals($uri->getSchema(),
'g+it');
720 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
721 $this->assertEquals($uri->getHost(),
'github.com');
722 $this->assertEquals($uri->getPort(),
'8080');
723 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
724 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
725 $this->assertEquals($uri->getFragment(),
'fragment');
726 $uri = $uri->withPath(
'a/b');
727 $this->assertEquals($uri->getSchema(),
'g+it');
728 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
729 $this->assertEquals($uri->getHost(),
'github.com');
730 $this->assertEquals($uri->getPort(),
'8080');
731 $this->assertEquals($uri->getPath(),
'a/b');
732 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
733 $this->assertEquals($uri->getFragment(),
'fragment');
734 $uri = $uri->withPath();
735 $this->assertEquals($uri->getSchema(),
'g+it');
736 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
737 $this->assertEquals($uri->getHost(),
'github.com');
738 $this->assertEquals($uri->getPort(),
'8080');
739 $this->assertNull($uri->getPath());
740 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
741 $this->assertEquals($uri->getFragment(),
'fragment');
749 $this->expectException(\InvalidArgumentException::class);
751 $uri->withPath(
'/<script>/a');
759 $this->expectException(\InvalidArgumentException::class);
761 $uri->withPath(
'//a/b');
769 $this->expectException(\InvalidArgumentException::class);
771 $uri->withPath(
':a/b');
779 $this->assertEquals($uri->getSchema(),
'g+it');
780 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
781 $this->assertEquals($uri->getHost(),
'github.com');
782 $this->assertEquals($uri->getPort(),
'8080');
783 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
784 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
785 $this->assertEquals($uri->getFragment(),
'fragment');
786 $uri = $uri->withQuery(
'query_par_a1=val_a1');
787 $this->assertEquals($uri->getSchema(),
'g+it');
788 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
789 $this->assertEquals($uri->getHost(),
'github.com');
790 $this->assertEquals($uri->getPort(),
'8080');
791 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
792 $this->assertEquals($uri->getQuery(),
'query_par_a1=val_a1');
793 $this->assertEquals($uri->getFragment(),
'fragment');
794 $uri = $uri->withQuery();
795 $this->assertEquals($uri->getSchema(),
'g+it');
796 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
797 $this->assertEquals($uri->getHost(),
'github.com');
798 $this->assertEquals($uri->getPort(),
'8080');
799 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
800 $this->assertNull($uri->getQuery());
801 $this->assertEquals($uri->getFragment(),
'fragment');
809 $this->expectException(\InvalidArgumentException::class);
811 $uri->withQuery(
'<script>a');
819 $this->expectException(\InvalidArgumentException::class);
821 $uri->withQuery(
'aa[]');
829 $this->assertEquals($uri->getSchema(),
'g+it');
830 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
831 $this->assertEquals($uri->getHost(),
'github.com');
832 $this->assertEquals($uri->getPort(),
'8080');
833 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
834 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
835 $this->assertEquals($uri->getFragment(),
'fragment');
836 $uri = $uri->withFragment(
'someFragment');
837 $this->assertEquals($uri->getSchema(),
'g+it');
838 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
839 $this->assertEquals($uri->getHost(),
'github.com');
840 $this->assertEquals($uri->getPort(),
'8080');
841 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
842 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
843 $this->assertEquals($uri->getFragment(),
'someFragment');
844 $uri = $uri->withFragment();
845 $this->assertEquals($uri->getSchema(),
'g+it');
846 $this->assertEquals($uri->getAuthority(),
'github.com:8080');
847 $this->assertEquals($uri->getHost(),
'github.com');
848 $this->assertEquals($uri->getPort(),
'8080');
849 $this->assertEquals($uri->getPath(),
'someaccount/somerepo/somerepo.git');
850 $this->assertEquals($uri->getQuery(),
'query_par_1=val_1&query_par_2=val_2');
851 $this->assertNull($uri->getFragment());
859 $this->expectException(\InvalidArgumentException::class);
861 $uri->withFragment(
'aaa[]');
869 $this->expectException(\InvalidArgumentException::class);
871 $uri->withFragment(
'script>');
885 $url = self::URI_BASE .
'?' . http_build_query(self::PARAMS);
889 $uri->getParameters()
899 $k = array_keys(self::PARAMS)[0];
902 $uri->getParameter($k)
911 $params = [
'x' => 1,
'y' => 2];
915 $uri->getParameters()
925 $uri = $uri->withParameter(
'x', 5);
928 $uri->getParameter(
'x')
940 $uri = $uri->withParameter(
'z', 5);
943 $uri->getParameters()
952 $params = [
'x' => 1,
'y' => [10, 11, 12]];
953 $uri = $uri->withParameters($params);
956 $uri->getParameters()
959 'git://github.com:8080/someaccount/somerepo/somerepo.git?x=1&y%5B0%5D=10&y%5B1%5D=11&y%5B2%5D=12',
964 $uri->getParameter(
'y')
973 $uri->getParameters()
976 $this->assertNull($uri->getParameter(
'y'));
979 self::URI_NO_QUERY_2,
test_with_authority_invalid_3()
test_with_authority
testWithArrayParameters(ILIAS\Data\URI $uri)
testGetParameters
const URI_HOST_ALPHADIG_START_2
test_with_path_invalid_3()
test_with_path
test_alphadigit_start_host_5()
test_init
const URI_COMPLETE_LOCALHOST
test_base_uri_idempotent($uri)
test_init
const URI_HOST_ALPHADIG_START_3
const const URI_HOST_ALPHADIG_START_1
test_with_authority_invalid_7()
test_with_authority
test_with_authority_invalid_6()
test_with_authority
test_authority_only()
test_init
withParameters(array $parameters)
Get URI with modified parameters.
test_wrong_authority_in_schema_1()
test_init
test_with_authority_invalid_4()
test_with_authority
test_with_path_invalid_2()
test_with_path
test_with_fragment($uri)
test_init
test_realpctenc()
test_init
test_with_authority_invalid_2()
test_with_authority
test_with_host_invalid_4()
test_with_host
test_alphadigit_start_host_4()
test_init
test_fakepcenc()
test_init
const URI_AUTHORITY_AND_FRAGMENT
Class ChatMainBarProvider .
const URI_HOST_ALPHADIG_START_5
test_with_authority_invalid_1()
test_with_authority
testAppendParameter(ILIAS\Data\URI $uri)
testWithParameters
test_no_authority()
test_init
testGetParameter(ILIAS\Data\URI $uri)
testGetParameters
test_with_host_invalid_1()
test_with_host
test_with_schema($uri)
test_init
test_wrong_char_in_schema()
test_init
test_with_query_invalid_1()
test_with_query
const URI_WRONG_AUTHORITY_1
test_with_fragment_invalid_1()
test_with_fragment
test_with_query_invalid_2()
test_with_query
test_with_fragment_invalid_2()
test_with_fragment
testWithParameters(ILIAS\Data\URI $uri)
testGetParameters
const URI_HOST_ALPHADIG_START_4
test_with_port_invalid_1()
test_with_port
test_with_host_invalid_3()
test_with_host
The scope of this class is split ilias-conform URI's into components.
test_with_query($uri)
test_init
test_with_authority_invalid_8()
test_with_authority
test_authority_path_fragment()
test_init
test_base_uri($uri)
test_init
test_with_host($uri)
test_init
test_with_path($uri)
test_init
test_authority_and_query()
test_init
const URI_AUTHORITY_AND_QUERY_2
test_with_port($uri)
test_init
testSubstituteParameter(ILIAS\Data\URI $uri)
testWithParameters
test_with_authority($uri)
test_init
test_alphadigit_start_host_3()
test_init
test_alphadigit_start_host_2()
test_init
test_with_authority_invalid_5()
test_with_authority
test_no_schema()
test_init
test_localhost()
test_init
test_with_schema_invalid_1()
test_with_schema
test_uri_invalid()
test_init
test_components($uri)
test_init
test_with_port_invalid_2()
test_with_port
test_authority_and_fragment()
test_init
const URI_AUTHORITY_PATH_FRAGMENT
test_wrong_authority_in_schema_2()
test_init
const URI_AUTHORITY_AND_QUERY_1
test_alphadigit_start_host()
test_init
test_with_path_invalid_1()
test_with_path
test_with_schema_invalid_2()
test_with_schema
const URI_WRONG_AUTHORITY_2