Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions ext/uri/tests/rfc3986/modification/fragment_error_reserved.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - reserved characters
--EXTENSIONS--
uri
--FILE--
<?php

$uri = Uri\Rfc3986\Uri::parse("https://example.com");

try {
$uri->withFragment("#fragment");
} catch (Uri\InvalidUriException $e) {
echo $e->getMessage() . "\n";
}

?>
--EXPECT--
The specified fragment is malformed
18 changes: 18 additions & 0 deletions ext/uri/tests/rfc3986/modification/fragment_error_unicode.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - unicode characters
--EXTENSIONS--
uri
--FILE--
<?php

$uri = Uri\Rfc3986\Uri::parse("https://example.com");

try {
$uri->withFragment("ő");
} catch (Uri\InvalidUriException $e) {
echo $e->getMessage() . "\n";
}

?>
--EXPECT--
The specified fragment is malformed
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/fragment_success_empty.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - empty string
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withFragment("");

var_dump($uri1->getRawFragment());
var_dump($uri2->getRawFragment());
var_dump($uri2->toRawString());
var_dump($uri2->getFragment());
var_dump($uri2->toString());

?>
--EXPECT--
NULL
string(0) ""
string(20) "https://example.com#"
string(0) ""
string(20) "https://example.com#"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - URL encoded characters
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withFragment("foo%3db%61r"); // foo=bar

var_dump($uri1->getRawFragment());
var_dump($uri2->getRawFragment());
var_dump($uri2->toRawString());
var_dump($uri2->getFragment());
var_dump($uri2->toString());

?>
--EXPECT--
NULL
string(11) "foo%3db%61r"
string(31) "https://example.com#foo%3db%61r"
string(9) "foo%3Dbar"
string(29) "https://example.com#foo%3Dbar"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - changing an existing one
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com#foo");
$uri2 = $uri1->withFragment("bar");

var_dump($uri1->getRawFragment());
var_dump($uri2->getRawFragment());
var_dump($uri2->toRawString());
var_dump($uri2->getFragment());
var_dump($uri2->toString());

?>
--EXPECT--
string(3) "foo"
string(3) "bar"
string(23) "https://example.com#bar"
string(3) "bar"
string(23) "https://example.com#bar"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - unsetting existing
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com#foo");
$uri2 = $uri1->withFragment(null);

var_dump($uri1->getRawFragment());
var_dump($uri2->getRawFragment());
var_dump($uri2->toRawString());
var_dump($uri2->getFragment());
var_dump($uri2->toString());

?>
--EXPECT--
string(3) "foo"
NULL
string(19) "https://example.com"
NULL
string(19) "https://example.com"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - fragment - unsetting not-existent
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withFragment(null);

var_dump($uri1->getRawFragment());
var_dump($uri2->getRawFragment());
var_dump($uri2->toRawString());
var_dump($uri2->getFragment());
var_dump($uri2->toString());

?>
--EXPECT--
NULL
NULL
string(19) "https://example.com"
NULL
string(19) "https://example.com"
18 changes: 18 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_error_reserved.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - reserved characters
--EXTENSIONS--
uri
--FILE--
<?php

$uri = Uri\Rfc3986\Uri::parse("https://example.com");

try {
$uri->withHost("ex#mple.com");
} catch (Uri\InvalidUriException $e) {
echo $e->getMessage() . "\n";
}

?>
--EXPECT--
The specified host is malformed
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_empty.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - empty string
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(0) ""
string(8) "https://"
string(0) ""
string(8) "https://"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_encoded.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - URL encoded characters
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("%65xample.net"); // example.net

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(13) "%65xample.net"
string(21) "https://%65xample.net"
string(11) "example.net"
string(19) "https://example.net"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_existing.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - changing an existing one
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("example.net");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(11) "example.net"
string(19) "https://example.net"
string(11) "example.net"
string(19) "https://example.net"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_ip_future.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - IP future address
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("[vF.addr]");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(9) "[vF.addr]"
string(17) "https://[vF.addr]"
string(9) "[vf.addr]"
string(17) "https://[vf.addr]"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_ipv4.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - IPv4 address
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("192.168.0.1");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(11) "192.168.0.1"
string(19) "https://192.168.0.1"
string(11) "192.168.0.1"
string(19) "https://192.168.0.1"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_ipv6.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - IPv6 address
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost("[2001:0db8:3333:4444:5555:6666:7777:8888]");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
string(41) "[2001:0db8:3333:4444:5555:6666:7777:8888]"
string(49) "https://[2001:0db8:3333:4444:5555:6666:7777:8888]"
string(41) "[2001:0db8:3333:4444:5555:6666:7777:8888]"
string(49) "https://[2001:0db8:3333:4444:5555:6666:7777:8888]"
23 changes: 23 additions & 0 deletions ext/uri/tests/rfc3986/modification/host_success_new.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - adding a new one
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("/foo/bar");
$uri2 = $uri1->withHost("example.com");

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
NULL
string(11) "example.com"
string(21) "//example.com/foo/bar"
string(11) "example.com"
string(21) "//example.com/foo/bar"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - unsetting existing
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("https://example.com");
$uri2 = $uri1->withHost(null);

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
string(11) "example.com"
NULL
string(7) "https:/"
NULL
string(7) "https:/"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
--TEST--
Test Uri\Rfc3986\Uri component modification - host - unsetting non-existent
--EXTENSIONS--
uri
--FILE--
<?php

$uri1 = Uri\Rfc3986\Uri::parse("/foo/bar");
$uri2 = $uri1->withHost(null);

var_dump($uri1->getRawHost());
var_dump($uri2->getRawHost());
var_dump($uri2->toRawString());
var_dump($uri2->getHost());
var_dump($uri2->toString());

?>
--EXPECT--
NULL
NULL
string(8) "/foo/bar"
NULL
string(8) "/foo/bar"
Loading