summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/strings')
-rw-r--r--ext/standard/tests/strings/bug35817.phpt29
-rw-r--r--ext/standard/tests/strings/http_build_query.phpt15
-rw-r--r--ext/standard/tests/strings/str_word_count.phpt30
-rw-r--r--ext/standard/tests/strings/url_t.phpt13
4 files changed, 85 insertions, 2 deletions
diff --git a/ext/standard/tests/strings/bug35817.phpt b/ext/standard/tests/strings/bug35817.phpt
new file mode 100644
index 000000000..e2a752c4a
--- /dev/null
+++ b/ext/standard/tests/strings/bug35817.phpt
@@ -0,0 +1,29 @@
+--TEST--
+Bug #35817 (unpack() does not decode odd number of hexadecimal values)
+--FILE--
+<?php
+$a = pack("H3","181");
+$b = unpack("H3", $a);
+var_dump($b);
+
+$a = pack("H2","18");
+$b = unpack("H2", $a);
+var_dump($b);
+
+$a = pack("H","1");
+$b = unpack("H", $a);
+var_dump($b);
+?>
+--EXPECT--
+array(1) {
+ [1]=>
+ string(3) "181"
+}
+array(1) {
+ [1]=>
+ string(2) "18"
+}
+array(1) {
+ [1]=>
+ string(1) "1"
+}
diff --git a/ext/standard/tests/strings/http_build_query.phpt b/ext/standard/tests/strings/http_build_query.phpt
new file mode 100644
index 000000000..4ed7fda43
--- /dev/null
+++ b/ext/standard/tests/strings/http_build_query.phpt
@@ -0,0 +1,15 @@
+--TEST--
+http_build_query() function
+--FILE--
+<?php
+
+$array = array("foo"=>"bar","baz"=>1,"test"=>"a ' \" ", "abc");
+var_dump(http_build_query($array));
+var_dump(http_build_query($array, 'foo'));
+var_dump(http_build_query($array, 'foo', ';'));
+
+?>
+--EXPECT--
+string(35) "foo=bar&baz=1&test=a+%27+%22+&0=abc"
+string(38) "foo=bar&baz=1&test=a+%27+%22+&foo0=abc"
+string(38) "foo=bar;baz=1;test=a+%27+%22+;foo0=abc"
diff --git a/ext/standard/tests/strings/str_word_count.phpt b/ext/standard/tests/strings/str_word_count.phpt
index 0c6c5ae56..9d41fc147 100644
--- a/ext/standard/tests/strings/str_word_count.phpt
+++ b/ext/standard/tests/strings/str_word_count.phpt
@@ -36,7 +36,11 @@ var_dump(str_word_count($str2, 2, "014"));
var_dump(str_word_count($str2, 2, array()));
var_dump(str_word_count($str2, 2, new stdClass));
var_dump(str_word_count($str2, 2, ""));
-
+var_dump(str_word_count("foo'0 bar-0var", 2, "0"));
+var_dump(str_word_count("'foo'", 2));
+var_dump(str_word_count("'foo'", 2, "'"));
+var_dump(str_word_count("-foo-", 2));
+var_dump(str_word_count("-foo-", 2, "-"));
?>
--EXPECTF--
array(6) {
@@ -225,4 +229,26 @@ array(7) {
string(3) "bar"
[15]=>
string(3) "foo"
-} \ No newline at end of file
+}
+array(2) {
+ [0]=>
+ string(5) "foo'0"
+ [6]=>
+ string(8) "bar-0var"
+}
+array(1) {
+ [1]=>
+ string(4) "foo'"
+}
+array(1) {
+ [0]=>
+ string(5) "'foo'"
+}
+array(1) {
+ [1]=>
+ string(3) "foo"
+}
+array(1) {
+ [0]=>
+ string(5) "-foo-"
+}
diff --git a/ext/standard/tests/strings/url_t.phpt b/ext/standard/tests/strings/url_t.phpt
index f6fec50de..be95e0294 100644
--- a/ext/standard/tests/strings/url_t.phpt
+++ b/ext/standard/tests/strings/url_t.phpt
@@ -75,6 +75,11 @@ $sample_urls = array (
foreach ($sample_urls as $url) {
var_dump(@parse_url($url));
}
+
+ $url = 'http://secret:hideout@www.php.net:80/index.php?test=1&test2=char&test3=mixesCI#some_page_ref123';
+ foreach (array(PHP_URL_SCHEME,PHP_URL_HOST,PHP_URL_PORT,PHP_URL_USER,PHP_URL_PASS,PHP_URL_PATH,PHP_URL_QUERY,PHP_URL_FRAGMENT) as $v) {
+ var_dump(parse_url($url, $v));
+ }
?>
--EXPECT--
array(1) {
@@ -673,3 +678,11 @@ array(4) {
["path"]=>
string(4) "/bla"
}
+string(4) "http"
+string(11) "www.php.net"
+int(80)
+string(6) "secret"
+string(7) "hideout"
+string(10) "/index.php"
+string(31) "test=1&test2=char&test3=mixesCI"
+string(16) "some_page_ref123"