summaryrefslogtreecommitdiff
path: root/ext/standard/tests/general_functions
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-11-30 16:45:48 +0100
committerNikita Popov <nikita.ppv@gmail.com>2021-02-11 21:46:13 +0100
commitb10416a652d26577a22fe0b183b2258b20c8bb86 (patch)
tree3b79102286b2307575f487bf97d572ffc292631d /ext/standard/tests/general_functions
parentf06895488a5fabd27ac4c2e66a9d311f14d8594e (diff)
downloadphp-git-b10416a652d26577a22fe0b183b2258b20c8bb86.tar.gz
Deprecate passing null to non-nullable arg of internal function
This deprecates passing null to non-nullable scale arguments of internal functions, with the eventual goal of making the behavior consistent with userland functions, where null is never accepted for non-nullable arguments. This change is expected to cause quite a lot of fallout. In most cases, calling code should be adjusted to avoid passing null. In some cases, PHP should be adjusted to make some function arguments nullable. I have already fixed a number of functions before landing this, but feel free to file a bug if you encounter a function that doesn't accept null, but probably should. (The rule of thumb for this to be applicable is that the function must have special behavior for 0 or "", which is distinct from the natural behavior of the parameter.) RFC: https://wiki.php.net/rfc/deprecate_null_to_scalar_internal_arg Closes GH-6475.
Diffstat (limited to 'ext/standard/tests/general_functions')
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt30
-rw-r--r--ext/standard/tests/general_functions/escapeshellarg_variation1.phpt31
-rw-r--r--ext/standard/tests/general_functions/get_cfg_var_variation3.phpt42
-rw-r--r--ext/standard/tests/general_functions/getservbyname_variation10.phpt36
-rw-r--r--ext/standard/tests/general_functions/getservbyname_variation3.phpt36
-rw-r--r--ext/standard/tests/general_functions/getservbyport_variation1.phpt11
-rw-r--r--ext/standard/tests/general_functions/uniqid_basic.phpt10
7 files changed, 10 insertions, 186 deletions
diff --git a/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt b/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt
index c7cab179b4..752b1dfa7e 100644
--- a/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt
+++ b/ext/standard/tests/general_functions/escapeshellarg_variation1-win32.phpt
@@ -10,10 +10,6 @@ if( substr(PHP_OS, 0, 3) != "WIN" )
echo "*** Testing escapeshellarg() : usage variations ***\n";
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
// heredoc string
$heredoc = <<<EOT
abc
@@ -39,10 +35,6 @@ $inputs = array(
1.234567E-2,
.5,
- // null data
-/*11*/ NULL,
- null,
-
// boolean data
/*13*/ true,
false,
@@ -53,12 +45,6 @@ $inputs = array(
/*17*/ "",
'',
- // undefined data
-/*19*/ @$undefined_var,
-
- // unset data
-/*20*/ @$unset_var,
-
);
// loop through each element of $inputs to check the behaviour of escapeshellarg()
@@ -103,7 +89,7 @@ string(12) ""0.01234567""
string(5) ""0.5""
-- Iteration 11 --
-string(2) """"
+string(3) ""1""
-- Iteration 12 --
string(2) """"
@@ -115,19 +101,7 @@ string(3) ""1""
string(2) """"
-- Iteration 15 --
-string(3) ""1""
-
--- Iteration 16 --
-string(2) """"
-
--- Iteration 17 --
-string(2) """"
-
--- Iteration 18 --
-string(2) """"
-
--- Iteration 19 --
string(2) """"
--- Iteration 20 --
+-- Iteration 16 --
string(2) """"
diff --git a/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt b/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt
index 15ebbfcd4e..028b987eec 100644
--- a/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt
+++ b/ext/standard/tests/general_functions/escapeshellarg_variation1.phpt
@@ -10,10 +10,6 @@ if( substr(PHP_OS, 0, 3) == "WIN" )
echo "*** Testing escapeshellarg() : usage variations ***\n";
-//get an unset variable
-$unset_var = 10;
-unset ($unset_var);
-
// heredoc string
$heredoc = <<<EOT
abc
@@ -39,10 +35,6 @@ $inputs = array(
1.234567E-2,
.5,
- // null data
-/*11*/ NULL,
- null,
-
// boolean data
/*13*/ true,
false,
@@ -52,13 +44,6 @@ $inputs = array(
// empty data
/*17*/ "",
'',
-
- // undefined data
-/*19*/ @$undefined_var,
-
- // unset data
-/*20*/ @$unset_var,
-
);
// loop through each element of $inputs to check the behaviour of escapeshellarg()
@@ -103,7 +88,7 @@ string(12) "'0.01234567'"
string(5) "'0.5'"
-- Iteration 11 --
-string(2) "''"
+string(3) "'1'"
-- Iteration 12 --
string(2) "''"
@@ -115,19 +100,7 @@ string(3) "'1'"
string(2) "''"
-- Iteration 15 --
-string(3) "'1'"
-
--- Iteration 16 --
-string(2) "''"
-
--- Iteration 17 --
-string(2) "''"
-
--- Iteration 18 --
-string(2) "''"
-
--- Iteration 19 --
string(2) "''"
--- Iteration 20 --
+-- Iteration 16 --
string(2) "''"
diff --git a/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt b/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt
deleted file mode 100644
index 1a99242ba6..0000000000
--- a/ext/standard/tests/general_functions/get_cfg_var_variation3.phpt
+++ /dev/null
@@ -1,42 +0,0 @@
---TEST--
-Test function get_cfg_var() by substituting argument 1 with emptyUnsetUndefNull values.
---CREDITS--
-Francesco Fullone ff@ideato.it
-#PHPTestFest Cesena Italia on 2009-06-20
---INI--
-session.use_cookies=0
-session.serialize_handler=php
-session.save_handler=files
---FILE--
-<?php
-
-
-echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
-
-
-
-$unset_var = 10;
-unset($unset_var);
-
-$variation_array = array(
- 'unset var' => @$unset_var,
- 'undefined var' => @$undefined_var,
- 'empty string DQ' => "",
- 'empty string SQ' => '',
- 'uppercase NULL' => NULL,
- 'lowercase null' => null
- );
-
-
-foreach ( $variation_array as $var ) {
- var_dump(get_cfg_var( $var ) );
-}
-?>
---EXPECT--
-*** Test substituting argument 1 with emptyUnsetUndefNull values ***
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation10.phpt b/ext/standard/tests/general_functions/getservbyname_variation10.phpt
deleted file mode 100644
index db1d47f3ef..0000000000
--- a/ext/standard/tests/general_functions/getservbyname_variation10.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-Test function getservbyname() by substituting argument 2 with emptyUnsetUndefNull values.
---FILE--
-<?php
-
-
-echo "*** Test substituting argument 2 with emptyUnsetUndefNull values ***\n";
-
-$service = "www";
-
-
-$unset_var = 10;
-unset($unset_var);
-
-$variation_array = array(
- 'unset var' => @$unset_var,
- 'undefined var' => @$undefined_var,
- 'empty string DQ' => "",
- 'empty string SQ' => '',
- 'uppercase NULL' => NULL,
- 'lowercase null' => null,
- );
-
-
-foreach ( $variation_array as $var ) {
- var_dump(getservbyname( $service, $var ) );
-}
-?>
---EXPECT--
-*** Test substituting argument 2 with emptyUnsetUndefNull values ***
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyname_variation3.phpt b/ext/standard/tests/general_functions/getservbyname_variation3.phpt
deleted file mode 100644
index 6602ce0bfc..0000000000
--- a/ext/standard/tests/general_functions/getservbyname_variation3.phpt
+++ /dev/null
@@ -1,36 +0,0 @@
---TEST--
-Test function getservbyname() by substituting argument 1 with emptyUnsetUndefNull values.
---FILE--
-<?php
-
-
-echo "*** Test substituting argument 1 with emptyUnsetUndefNull values ***\n";
-
-$protocol = "tcp";
-
-
-$unset_var = 10;
-unset($unset_var);
-
-$variation_array = array(
- 'unset var' => @$unset_var,
- 'undefined var' => @$undefined_var,
- 'empty string DQ' => "",
- 'empty string SQ' => '',
- 'uppercase NULL' => NULL,
- 'lowercase null' => null,
- );
-
-
-foreach ( $variation_array as $var ) {
- var_dump(getservbyname( $var , $protocol ) );
-}
-?>
---EXPECT--
-*** Test substituting argument 1 with emptyUnsetUndefNull values ***
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
-bool(false)
diff --git a/ext/standard/tests/general_functions/getservbyport_variation1.phpt b/ext/standard/tests/general_functions/getservbyport_variation1.phpt
index a6358027a5..03cc5b46e9 100644
--- a/ext/standard/tests/general_functions/getservbyport_variation1.phpt
+++ b/ext/standard/tests/general_functions/getservbyport_variation1.phpt
@@ -15,16 +15,13 @@ Simone Gentili (sensorario@gmail.com)
?>
--FILE--
<?php
- var_dump(getservbyport( -1, "tcp" ));
- var_dump(getservbyport( 80, "ppp" ));
- var_dump(getservbyport( null, null));
- var_dump(getservbyport( 2, 2));
- var_dump(getservbyport( "80", "tcp"));
-
+var_dump(getservbyport( -1, "tcp" ));
+var_dump(getservbyport( 80, "ppp" ));
+var_dump(getservbyport( 2, 2));
+var_dump(getservbyport( "80", "tcp"));
?>
--EXPECTF--
bool(false)
bool(false)
bool(false)
-bool(false)
string(%d) "%s"
diff --git a/ext/standard/tests/general_functions/uniqid_basic.phpt b/ext/standard/tests/general_functions/uniqid_basic.phpt
index 0e782cdfd1..408f72bfdb 100644
--- a/ext/standard/tests/general_functions/uniqid_basic.phpt
+++ b/ext/standard/tests/general_functions/uniqid_basic.phpt
@@ -6,8 +6,8 @@ echo "*** Testing uniqid() : basic functionality ***\n";
echo "\nuniqid() without a prefix\n";
var_dump(uniqid());
-var_dump(uniqid(null, true));
-var_dump(uniqid(null, false));
+var_dump(uniqid('', true));
+var_dump(uniqid('', false));
echo "\n\n";
echo "uniqid() with a prefix\n";
@@ -17,7 +17,6 @@ $prefix = array (
99999,
"99999",
10.5e2,
- null,
true,
false
);
@@ -52,10 +51,6 @@ string(17) "1050%s"
string(27) "1050%s.%s"
string(17) "1050%s"
-string(13) "%s"
-string(23) "%s.%s"
-string(13) "%s"
-
string(14) "1%s"
string(24) "1%s.%s"
string(14) "1%s"
@@ -63,4 +58,3 @@ string(14) "1%s"
string(13) "%s"
string(23) "%s.%s"
string(13) "%s"
-