88$ uri1 = Uri \Rfc3986 \Uri::parse ("https://example.com " );
99$ uri2 = $ uri1 ->withHost ("test.com " );
1010$ uri3 = $ uri2 ->withHost (null );
11+ $ uri4 = $ uri3 ->withHost ("t%65st.com " ); // test.com
12+ $ uri5 = $ uri4 ->withHost ("t%3As%2Ft.com " ); // t:s/t.com
13+ $ uri6 = $ uri5 ->withHost ("test.com:8080 " ); // TODO should fail
1114
12- var_dump ($ uri1 ->toString ());
13- var_dump ($ uri2 ->toString ());
14- var_dump ($ uri3 ->toString ());
15+ var_dump ($ uri2 ->getRawHost ());
16+ var_dump ($ uri3 ->getRawHost ());
17+ var_dump ($ uri4 ->getRawHost ());
18+ var_dump ($ uri5 ->getRawHost ());
19+ var_dump ($ uri6 ->getRawHost ());
20+
21+ try {
22+ $ uri4 ->withHost ("t:s/t.com " );
23+ } catch (Uri \InvalidUriException $ e ) {
24+ echo $ e ->getMessage () . "\n" ;
25+ }
1526
1627$ uri1 = Uri \Rfc3986 \Uri::parse ("ftp://foo.com?query=abc#foo " );
1728$ uri2 = $ uri1 ->withHost ("test.com " );
1829
19- var_dump ($ uri1 ->toString ());
20- var_dump ($ uri2 ->toString ());
30+ var_dump ($ uri1 ->getRawHost ());
31+ var_dump ($ uri2 ->getRawHost ());
2132
2233$ uri1 = Uri \Rfc3986 \Uri::parse ("/path?query=abc#foo " );
2334$ uri2 = $ uri1 ->withHost ("test.com " );
2435
25- var_dump ($ uri1 ->toString ());
26- var_dump ($ uri2 ->toString ());
36+ var_dump ($ uri1 ->getRawHost ());
37+ var_dump ($ uri2 ->getRawHost ());
2738
2839$ url1 = Uri \WhatWg \Url::parse ("https://example.com " );
2940$ url2 = $ url1 ->withHost ("test.com " );
41+ $ url3 = $ url2 ->withHost ("t%65st.com " ); // test.com
42+ $ url4 = $ url3 ->withHost ("test.com:8080 " );
3043
31- var_dump ($ url1 ->toString ());
32- var_dump ($ url2 ->toString ());
44+ var_dump ($ url1 ->getHost ());
45+ var_dump ($ url2 ->getHost ());
46+ var_dump ($ url3 ->getHost ());
47+ var_dump ($ url4 ->getHost ());
48+ var_dump ($ url4 ->getPort ());
49+
50+ try {
51+ $ url4 ->withHost ("t%3As%2Ft.com " ); // t:s/t.com
52+ } catch (Uri \InvalidUriException $ e ) {
53+ echo $ e ->getMessage () . "\n" ;
54+ }
55+
56+ try {
57+ $ url4 ->withHost ("t:s/t.com " );
58+ } catch (Uri \InvalidUriException $ e ) {
59+ echo $ e ->getMessage () . "\n" ;
60+ }
3361
3462try {
3563 $ url2 ->withHost (null );
@@ -40,20 +68,27 @@ try {
4068$ url1 = Uri \WhatWg \Url::parse ("ftp://foo.com?query=abc#foo " );
4169$ url2 = $ url1 ->withHost ("test.com " );
4270
43- var_dump ($ url1 ->toString ());
44- var_dump ($ url2 ->toString ());
71+ var_dump ($ url1 ->getHost ());
72+ var_dump ($ url2 ->getHost ());
4573
4674?>
4775--EXPECT--
48- string(19) "https://example.com"
49- string(16) "https://test.com"
50- string(8) "https://"
51- string(27) "ftp://foo.com?query=abc#foo"
52- string(28) "ftp://test.com?query=abc#foo"
53- string(19) "/path?query=abc#foo"
54- string(27) "test.com/path?query=abc#foo"
55- string(20) "https://example.com/"
56- string(17) "https://test.com/"
76+ string(8) "test.com"
77+ NULL
78+ string(10) "t%65st.com"
79+ string(13) "t%3As%2Ft.com"
80+ string(8) "test.com"
81+ URI parsing failed
82+ string(7) "foo.com"
83+ string(8) "test.com"
84+ NULL
85+ NULL
86+ string(11) "example.com"
87+ string(8) "test.com"
88+ string(8) "test.com"
89+ string(8) "test.com"
90+ NULL
91+ URI parsing failed
5792URI parsing failed
58- string(28 ) "ftp:// foo.com/?query=abc#foo "
59- string(29 ) "ftp:// test.com/?query=abc#foo "
93+ string(7 ) "foo.com"
94+ string(8 ) "test.com"
0 commit comments