]> granicus.if.org Git - php/commitdiff
Remove special treatment of strings in asserts
authorNikita Popov <nikita.ppv@gmail.com>
Mon, 28 Jan 2019 15:35:04 +0000 (16:35 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Tue, 29 Jan 2019 08:42:59 +0000 (09:42 +0100)
This was deprecated in PHP 7.2 as part of
https://wiki.php.net/rfc/deprecations_php_7_2.

28 files changed:
UPGRADING
Zend/tests/assert/bug70208.phpt [deleted file]
Zend/tests/assert/indirect_var_access_misoptimization.phpt [deleted file]
Zend/tests/dynamic_call_006.phpt
ext/opcache/Optimizer/zend_optimizer.c
ext/standard/assert.c
ext/standard/tests/assert/assert.phpt
ext/standard/tests/assert/assert02.phpt [deleted file]
ext/standard/tests/assert/assert03.phpt
ext/standard/tests/assert/assert04.phpt
ext/standard/tests/assert/assert_basic.phpt
ext/standard/tests/assert/assert_basic1.phpt
ext/standard/tests/assert/assert_basic2.phpt
ext/standard/tests/assert/assert_basic3.phpt
ext/standard/tests/assert/assert_basic4.phpt
ext/standard/tests/assert/assert_basic5.phpt
ext/standard/tests/assert/assert_basic6.phpt [deleted file]
ext/standard/tests/assert/assert_closures.phpt
ext/standard/tests/assert/assert_error.phpt [deleted file]
ext/standard/tests/assert/assert_error1.phpt
ext/standard/tests/assert/assert_error2.phpt
ext/standard/tests/assert/assert_error3.phpt [deleted file]
ext/standard/tests/assert/assert_error4.phpt [deleted file]
ext/standard/tests/assert/assert_variation.phpt
ext/standard/tests/assert/bug73303.phpt [deleted file]
php.ini-development
php.ini-production
tests/lang/bug23922.phpt [deleted file]

index ca9a13429d55da439fe6088b8bdd2ce59abc6729..d58780964857a800dc688df783b0aecc50990fdb 100644 (file)
--- a/UPGRADING
+++ b/UPGRADING
@@ -47,6 +47,11 @@ PHP 8.0 UPGRADE NOTES
   . mb_parse_str() can no longer be used without specifying a result array.
 
 - Standard:
+  . assert() will no longer evaluate string arguments, instead they will be
+    treated like any other argument. assert($a == $b) should be used instead of
+    assert('$a == $b'). The assert.quiet_eval ini directive and
+    ASSERT_QUIET_EVAL constants have also been removed, as they would no longer
+    have any effect.
   . parse_str() can no longer be used without specifying a result array.
 
 ========================================
diff --git a/Zend/tests/assert/bug70208.phpt b/Zend/tests/assert/bug70208.phpt
deleted file mode 100644 (file)
index 6b7dfae..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-Bug #70208 (scope information must be preserved with assert())
---FILE--
-<?php
-
-function non_class_scope() {
-       return true;
-}
-
-class test {
-       protected $prop = 1;
-
-       public function __construct() {
-               assert('non_class_scope();');
-               var_dump($this->prop);
-       }
-}
-
-new test;
-
-?>
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-int(1)
diff --git a/Zend/tests/assert/indirect_var_access_misoptimization.phpt b/Zend/tests/assert/indirect_var_access_misoptimization.phpt
deleted file mode 100644 (file)
index 02327f3..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Misoptimization when variable is modified by assert()
---INI--
-zend.assertions=1
---FILE--
-<?php
-
-function test() {
-    $i = 0;
-    assert('$i = new stdClass');
-    $i += 1;
-    var_dump($i);
-}
-test();
-
-?>
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Notice: Object of class stdClass could not be converted to number in %s on line %d
-int(2)
index a1371eeebefdbc5e8ed0aaa76886b0930b72db49..7a2872bccac34dfdf2529a02ed94463a8d670669 100644 (file)
@@ -12,9 +12,6 @@ function test() {
     $func = 'get_defined_vars';
     $func();
 
-    $func = 'assert';
-    $func('1==2');
-
     $func = 'func_get_args';
     $func();
 
@@ -34,8 +31,6 @@ Warning: Cannot call compact() dynamically in %s on line %d
 
 Warning: Cannot call get_defined_vars() dynamically in %s on line %d
 
-Warning: Cannot call assert() with string argument dynamically in %s on line %d
-
 Warning: Cannot call func_get_args() dynamically in %s on line %d
 
 Warning: Cannot call func_get_arg() dynamically in %s on line %d
index 0fb10c4408516daf97fcba2c4e6d23eb2dfef96a..5c4acad817d047ee3a7c0d805b883dc9ab30ffb6 100644 (file)
@@ -966,8 +966,6 @@ uint32_t zend_optimizer_classify_function(zend_string *name, uint32_t num_args)
                return ZEND_FUNC_INDIRECT_VAR_ACCESS;
        } else if (zend_string_equals_literal(name, "get_defined_vars")) {
                return ZEND_FUNC_INDIRECT_VAR_ACCESS;
-       } else if (zend_string_equals_literal(name, "assert")) {
-               return ZEND_FUNC_INDIRECT_VAR_ACCESS;
        } else if (zend_string_equals_literal(name, "func_num_args")) {
                return ZEND_FUNC_VARARG;
        } else if (zend_string_equals_literal(name, "func_get_arg")) {
index 005fda4b5647dae5e350f98e2ed7aa63767ae536..d9f4fb99996f0acb3461d92fd394b884bc32462f 100644 (file)
@@ -29,7 +29,6 @@ ZEND_BEGIN_MODULE_GLOBALS(assert)
        zend_bool active;
        zend_bool bail;
        zend_bool warning;
-       zend_bool quiet_eval;
        zend_bool exception;
 ZEND_END_MODULE_GLOBALS(assert)
 
@@ -46,7 +45,6 @@ enum {
        ASSERT_CALLBACK,
        ASSERT_BAIL,
        ASSERT_WARNING,
-       ASSERT_QUIET_EVAL,
        ASSERT_EXCEPTION
 };
 
@@ -81,7 +79,6 @@ PHP_INI_BEGIN()
         STD_PHP_INI_ENTRY("assert.bail",               "0",    PHP_INI_ALL,    OnUpdateBool,           bail,                           zend_assert_globals,            assert_globals)
         STD_PHP_INI_ENTRY("assert.warning",    "1",    PHP_INI_ALL,    OnUpdateBool,           warning,                        zend_assert_globals,            assert_globals)
         PHP_INI_ENTRY("assert.callback",               NULL,   PHP_INI_ALL,    OnChangeCallback)
-        STD_PHP_INI_ENTRY("assert.quiet_eval", "0",    PHP_INI_ALL,    OnUpdateBool,           quiet_eval,                     zend_assert_globals,            assert_globals)
         STD_PHP_INI_ENTRY("assert.exception",  "0",    PHP_INI_ALL,    OnUpdateBool,           exception,                      zend_assert_globals,            assert_globals)
 PHP_INI_END()
 
@@ -104,7 +101,6 @@ PHP_MINIT_FUNCTION(assert) /* {{{ */
        REGISTER_LONG_CONSTANT("ASSERT_CALLBACK", ASSERT_CALLBACK, CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("ASSERT_BAIL", ASSERT_BAIL, CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("ASSERT_WARNING", ASSERT_WARNING, CONST_CS|CONST_PERSISTENT);
-       REGISTER_LONG_CONSTANT("ASSERT_QUIET_EVAL", ASSERT_QUIET_EVAL, CONST_CS|CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("ASSERT_EXCEPTION", ASSERT_EXCEPTION, CONST_CS|CONST_PERSISTENT);
 
        INIT_CLASS_ENTRY(ce, "AssertionError", NULL);
@@ -147,9 +143,6 @@ PHP_FUNCTION(assert)
 {
        zval *assertion;
        zval *description = NULL;
-       int val;
-       char *myeval = NULL;
-       char *compiled_string_description;
 
        if (! ASSERTG(active)) {
                RETURN_TRUE;
@@ -161,51 +154,7 @@ PHP_FUNCTION(assert)
                Z_PARAM_ZVAL(description)
        ZEND_PARSE_PARAMETERS_END();
 
-       if (Z_TYPE_P(assertion) == IS_STRING) {
-               zval retval;
-               int old_error_reporting = 0; /* shut up gcc! */
-
-               if (zend_forbid_dynamic_call("assert() with string argument") == FAILURE) {
-                       RETURN_FALSE;
-               }
-
-               php_error_docref(NULL, E_DEPRECATED, "Calling assert() with a string argument is deprecated");
-
-               myeval = Z_STRVAL_P(assertion);
-
-               if (ASSERTG(quiet_eval)) {
-                       old_error_reporting = EG(error_reporting);
-                       EG(error_reporting) = 0;
-               }
-
-               compiled_string_description = zend_make_compiled_string_description("assert code");
-               if (zend_eval_stringl(myeval, Z_STRLEN_P(assertion), &retval, compiled_string_description) == FAILURE) {
-                       efree(compiled_string_description);
-                       if (!description) {
-                               zend_throw_error(NULL, "Failure evaluating code: %s%s", PHP_EOL, myeval);
-                       } else {
-                               zend_string *str = zval_get_string(description);
-                               zend_throw_error(NULL, "Failure evaluating code: %s%s:\"%s\"", PHP_EOL, ZSTR_VAL(str), myeval);
-                               zend_string_release_ex(str, 0);
-                       }
-                       if (ASSERTG(bail)) {
-                               zend_bailout();
-                       }
-                       RETURN_FALSE;
-               }
-               efree(compiled_string_description);
-
-               if (ASSERTG(quiet_eval)) {
-                       EG(error_reporting) = old_error_reporting;
-               }
-
-               convert_to_boolean(&retval);
-               val = Z_TYPE(retval) == IS_TRUE;
-       } else {
-               val = zend_is_true(assertion);
-       }
-
-       if (val) {
+       if (zend_is_true(assertion)) {
                RETURN_TRUE;
        }
 
@@ -220,8 +169,8 @@ PHP_FUNCTION(assert)
                const char *filename = zend_get_executed_filename();
 
                ZVAL_STRING(&args[0], SAFE_STRING(filename));
-               ZVAL_LONG (&args[1], lineno);
-               ZVAL_STRING(&args[2], SAFE_STRING(myeval));
+               ZVAL_LONG(&args[1], lineno);
+               ZVAL_NULL(&args[2]);
 
                ZVAL_FALSE(&retval);
 
@@ -255,18 +204,10 @@ PHP_FUNCTION(assert)
                }
        } else if (ASSERTG(warning)) {
                if (!description) {
-                       if (myeval) {
-                               php_error_docref(NULL, E_WARNING, "Assertion \"%s\" failed", myeval);
-                       } else {
-                               php_error_docref(NULL, E_WARNING, "Assertion failed");
-                       }
+                       php_error_docref(NULL, E_WARNING, "Assertion failed");
                } else {
                        zend_string *str = zval_get_string(description);
-                       if (myeval) {
-                               php_error_docref(NULL, E_WARNING, "%s: \"%s\" failed", ZSTR_VAL(str), myeval);
-                       } else {
-                               php_error_docref(NULL, E_WARNING, "%s failed", ZSTR_VAL(str));
-                       }
+                       php_error_docref(NULL, E_WARNING, "%s failed", ZSTR_VAL(str));
                        zend_string_release_ex(str, 0);
                }
        }
@@ -320,18 +261,6 @@ PHP_FUNCTION(assert_options)
                RETURN_LONG(oldint);
                break;
 
-       case ASSERT_QUIET_EVAL:
-               oldint = ASSERTG(quiet_eval);
-               if (ac == 2) {
-                       zend_string *value_str = zval_get_string(value);
-                       key = zend_string_init("assert.quiet_eval", sizeof("assert.quiet_eval")-1, 0);
-                       zend_alter_ini_entry_ex(key, value_str, PHP_INI_USER, PHP_INI_STAGE_RUNTIME, 0);
-                       zend_string_release_ex(key, 0);
-                       zend_string_release_ex(value_str, 0);
-               }
-               RETURN_LONG(oldint);
-               break;
-
        case ASSERT_WARNING:
                oldint = ASSERTG(warning);
                if (ac == 2) {
index 08e1188d60cf8febf4d6d9170ffd5c2088ce5ad4..71b0649141e99dde11b160663fb92d732576bb50 100644 (file)
@@ -1,44 +1,41 @@
 --TEST--
 assert()
 --INI--
-error_reporting = 2039
 assert.active = 0
 assert.warning = 1
 assert.callback =
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
-function a($file,$line,$myev)
+function a($file, $line, $unused, $desc)
 {
-       echo "assertion failed $line,\"$myev\"\n";
+       echo "assertion failed $line,\"$desc\"\n";
 }
 
 class a
 {
-       function assert($file,$line,$myev)
+       static function assert($file, $line, $unused, $desc)
        {
-               echo "class assertion failed $line,\"$myev\"\n";
+               echo "class assertion failed $line,\"$desc\"\n";
        }
 }
 
 assert_options(ASSERT_ACTIVE,1);
-assert_options(ASSERT_QUIET_EVAL,1);
 assert_options(ASSERT_WARNING,0);
 
 $a = 0;
 
 assert_options(ASSERT_CALLBACK,"a");
-assert('$a != 0');
+assert($a != 0);
 
 assert_options(ASSERT_CALLBACK,array("a","assert"));
-assert('$a != 0');
+assert($a != 0);
 
 $obj = new a();
 assert_options(ASSERT_CALLBACK,array(&$obj,"assert"));
-assert('$a != 0');
+assert($a != 0);
 ?>
 --EXPECT--
-assertion failed 22,"$a != 0"
-class assertion failed 25,"$a != 0"
-class assertion failed 29,"$a != 0"
+assertion failed 21,"assert($a != 0)"
+class assertion failed 24,"assert($a != 0)"
+class assertion failed 28,"assert($a != 0)"
diff --git a/ext/standard/tests/assert/assert02.phpt b/ext/standard/tests/assert/assert02.phpt
deleted file mode 100644 (file)
index 85b7236..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
---TEST--
-catch assert() errors
---INI--
-assert.active=1
-assert.warning=1
-assert.callback=
-assert.bail=0
-assert.quiet_eval=0
---FILE--
-<?php
-
-assert(1);
-assert('1');
-assert('$a');
-
-try {
-       assert('aa=sd+as+safsafasfasafsaf');
-} catch (Throwable $e) {
-       echo $e->getMessage(), "\n";
-}
-
-assert('0');
-
-assert_options(ASSERT_BAIL, 1);
-
-try {
-       assert('aa=sd+as+safsafasfasafsaf');
-} catch (Throwable $e) {
-       echo $e->getMessage(), "\n";
-}
-
-echo "done\n";
-
-?>
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Notice: Undefined variable: a in %sassert02.php(%d) : assert code on line 1
-
-Warning: assert(): Assertion "$a" failed in %sassert02.php on line %d
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-Failure evaluating code: 
-aa=sd+as+safsafasfasafsaf
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Warning: assert(): Assertion "0" failed in %sassert02.php on line %d
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Fatal error: Uncaught ParseError: syntax error, unexpected '=', expecting ';' in %s(%d) : assert code:1
-Stack trace:
-#0 %s(%d): assert('aa=sd+as+safsaf...')
-#1 {main}
-
-Next Error: Failure evaluating code: 
-aa=sd+as+safsafasfasafsaf in %s:%d
-Stack trace:
-#0 %s(%d): assert('aa=sd+as+safsaf...')
-#1 {main}
-  thrown in %s on line %d
index 80c42df473f057acb738f8e4e1ca34ac39dbbbdb..3b231405f6be1ee7e5288e4b2e328bee50eed0fc 100644 (file)
@@ -5,38 +5,33 @@ assert.active = 1
 assert.warning = 0
 assert.callback =
 assert.bail = 0
-assert.quiet_eval = 1
 --FILE--
 <?php
-function a($file,$line,$myev)
+function a($file, $line, $unused, $desc)
 {
-               echo "assertion failed - a - $line,\"$myev\"\n";
+               echo "assertion failed - a - $line,\"$desc\"\n";
 }
 
-function b($file,$line,$myev)
+function b($file, $line, $unused, $desc)
 {
-               echo "assertion failed - b - $line,\"$myev\"\n";
+               echo "assertion failed - b - $line,\"$desc\"\n";
 }
 
 assert_options(ASSERT_ACTIVE,1);
-assert_options(ASSERT_QUIET_EVAL,1);
 assert_options(ASSERT_WARNING,0);
 
 $a = 0;
 
-assert_options(ASSERT_CALLBACK,"a");
-assert('$a != 0');
+assert_options(ASSERT_CALLBACK, "a");
+assert($a != 0);
 
  /* Modify call back using ini_set() */
 ini_set("assert.callback", "b");
-assert('$a != 0');
+assert($a != 0);
 
 ?>
 ==DONE==
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-assertion failed - a - %d,"$a != 0"
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-assertion failed - b - %d,"$a != 0"
+--EXPECT--
+assertion failed - a - 18,"assert($a != 0)"
+assertion failed - b - 22,"assert($a != 0)"
 ==DONE==
index 01002299586372d9c0965650012099f7ec54e77a..f20aaf8e2b3709419597e9a8b5983cd8f527ab83 100644 (file)
@@ -5,7 +5,6 @@ assert.active = 1
 assert.warning = 1
 assert.callback =
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 /* Assert not active */
index 73b3e732061f43e68cc038045e1bc7c671ed948f..ce53a17a6172866ce220582b17c12a2666843ae6 100644 (file)
@@ -5,29 +5,16 @@ assert.active = 1
 assert.warning = 0
 assert.callback = f1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 function f1()
 {
        echo "f1 called\n";
 }
-//String assert
-$sa = "0 != 0";
-var_dump($r2=assert($sa));
-$sa = "0 == 0";
-var_dump($r2=assert($sa));
 
-//Non string assert
-var_dump($r2=assert(0));
-var_dump($r2=assert(1));
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-f1 called
-bool(false)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-bool(true)
+var_dump($r2 = assert(0));
+var_dump($r2 = assert(1));
+--EXPECT--
 f1 called
 bool(false)
 bool(true)
index a5bcda3316e924aa7dab172725b5c19cc49c524c..cd4a5601ab0f4b632caa8abd27bbb719ab697136 100644 (file)
@@ -5,7 +5,6 @@ assert.active = 0
 assert.warning = 0
 assert.callback = f1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 function f1()
@@ -13,17 +12,9 @@ function f1()
        echo "f1 called\n";
 }
 
-//String assert
-$sa = "0 != 0";
-var_dump($r2=assert($sa));
-$sa = "0 == 0";
-var_dump($r2=assert($sa));
-
-//Non string assert
 var_dump($r2=assert(0));
 var_dump($r2=assert(1));
+?>
 --EXPECT--
 bool(true)
 bool(true)
-bool(true)
-bool(true)
index d6c150d0d0c9ee05119fed3dbd678162dd08e832..052e7d4e89f54112c6a086df22067983fb90effb 100644 (file)
@@ -5,7 +5,6 @@ assert.active = 1
 assert.warning = 1
 assert.callback=f1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 function f2()
index a7fd990cbe1a69725f75372b62d5c5ef30a3a7f4..87103cbfbbbdc5e69f62d8876676471008f1cff6 100644 (file)
@@ -4,7 +4,6 @@ assert() - basic - Test that bailout works
 assert.active = 1
 assert.warning = 1
 assert.callback = f1
-assert.quiet_eval = 1
 assert.bail = 0
 --FILE--
 <?php
@@ -15,13 +14,10 @@ function f1()
 
 //bail out on error
 var_dump($rao=assert_options(ASSERT_BAIL, 1));
-$sa = "0 != 0";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo "If this is printed BAIL hasn't worked";
 --EXPECTF--
 int(0)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 f1 called
 
-Warning: assert(): assert($sa): "0 != 0" failed in %s on line 10
+Warning: assert(): assert(0 != 0) failed in %s on line %d
index 4e78cf9ec10e6d18ee7df3fb9e930ffdd5570c67..289c51860eddcdf01453f6d9649191db662d90e3 100644 (file)
@@ -4,7 +4,6 @@ assert() - basic - test initial values using ini.get and assert_options
 assert.active = 0
 assert.warning = 0
 assert.bail = 0
-assert.quiet_eval = 0
 assert.callback = f1
 --FILE--
 <?php
@@ -14,23 +13,19 @@ assert.callback = f1
 echo "Initial values: assert_options(ASSERT_ACTIVE) => [".assert_options(ASSERT_ACTIVE)."]\n";
 echo "Initial values: assert_options(ASSERT_WARNING) => [".assert_options(ASSERT_WARNING)."]\n";
 echo "Initial values: assert_options(ASSERT_BAIL) => [".assert_options(ASSERT_BAIL)."]\n";
-echo "Initial values: assert_options(ASSERT_QUIET_EVAL) => [".assert_options(ASSERT_QUIET_EVAL)."]\n";
 echo "Initial values: assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
 
 //Using ini.get;
 echo "Initial values: ini.get(\"assert.active\") => [".ini_get("assert.active")."]\n";
 echo "Initial values: ini.get(\"assert.warning\") => [".ini_get("assert.warning")."]\n";
 echo "Initial values: ini.get(\"assert.bail\") => [".ini_get("assert.bail")."]\n";
-echo "Initial values: ini.get(\"assert.quiet_eval\") => [".ini_get("assert.quiet_eval")."]\n";
 echo "Initial values: ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n";
 --EXPECT--
 Initial values: assert_options(ASSERT_ACTIVE) => [0]
 Initial values: assert_options(ASSERT_WARNING) => [0]
 Initial values: assert_options(ASSERT_BAIL) => [0]
-Initial values: assert_options(ASSERT_QUIET_EVAL) => [0]
 Initial values: assert_options(ASSERT_CALLBACK) => [f1]
 Initial values: ini.get("assert.active") => [0]
 Initial values: ini.get("assert.warning") => [0]
 Initial values: ini.get("assert.bail") => [0]
-Initial values: ini.get("assert.quiet_eval") => [0]
 Initial values: ini.get("assert.callback") => [f1]
index f4943cdf16283840e0c5daad07b1427e7ab809e4..cf2ed6ded3491e6655b81bae4528b45460e25967 100644 (file)
@@ -5,7 +5,6 @@ assert.active = 1
 assert.warning = 0
 assert.callback = f1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 function f1()
@@ -15,22 +14,16 @@ function f1()
 
 //switch warning on and test return value
 var_dump($rao=assert_options(ASSERT_WARNING, 1));
-$sa = "0 != 0";
-var_dump($r2=assert($sa));
-$sa = "0 == 0";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
+var_dump($r2=assert(0 == 0));
 
 //switch warning on and test return value
 var_dump($rao=assert_options(ASSERT_WARNING, 0));
 --EXPECTF--
 int(0)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 f1 called
 
-Warning: assert(): assert($sa): "0 != 0" failed in %s on line 10
+Warning: assert(): assert(0 != 0) failed in %s on line %d
 bool(false)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 bool(true)
 int(1)
diff --git a/ext/standard/tests/assert/assert_basic6.phpt b/ext/standard/tests/assert/assert_basic6.phpt
deleted file mode 100644 (file)
index 216c85c..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-assert() - basic - Test that bailout works
---INI--
-assert.active = 1
-assert.warning = 1
-assert.callback = f1
-assert.quiet_eval = 1
-assert.bail = 0
---FILE--
-<?php
-function f1($message)
-{
-       echo "f1 called\n";
-}
-
-//bail out on error
-var_dump($rao = assert_options(ASSERT_BAIL, 1));
-$sa = "0 != 0";
-var_dump($r2 = assert($sa, "0 is 0"));
-echo "If this is printed BAIL hasn't worked";
---EXPECTF--
-int(0)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-f1 called
-
-Warning: assert(): 0 is 0: "0 != 0" failed in %s on line 10
index 4a013283a8d7eb5aed49a10371c576ffdc096355..13a7e5415e1cd1cf9015a9932fb22b8356282fcc 100644 (file)
@@ -4,7 +4,6 @@ assert() - basic - accept closures as callback.
 assert.active = 1
 assert.warning = 1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 assert_options(ASSERT_CALLBACK, function () { echo "Hello World!\n"; });
diff --git a/ext/standard/tests/assert/assert_error.phpt b/ext/standard/tests/assert/assert_error.phpt
deleted file mode 100644 (file)
index 6e04060..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
---TEST--
-assert() - error - give assert nonsense string with quiet_eval on then off
---INI--
-assert.active = 1
-assert.warning = 1
-assert.callback = f1
-assert.bail = 0
-assert.quiet_eval = 0
---FILE--
-<?php
-function f1()
-{
-       echo "f1 called\n";
-}
-
-$sa = "threemeninaboat";
-
-var_dump($r2=assert($sa));
-
-var_dump($ra0 = assert_options(ASSERT_QUIET_EVAL, 1));
-
-var_dump($r2=assert($sa));
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Warning: Use of undefined constant threemeninaboat - assumed 'threemeninaboat' (this will throw an Error in a future version of PHP) in %s(9) : assert code on line 1
-bool(true)
-int(0)
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-bool(true)
index 55879e8427ae9febe25e56fed09f8509e09b5b94..a30356f9f7b43b0e6278fd372d00a05ed04b76c5 100644 (file)
@@ -4,7 +4,6 @@ assert() - error - invalid params
 assert.active = 1
 assert.warning = 1
 assert.callback = f1
-assert.quiet_eval = 1
 assert.bail = 0
 --FILE--
 <?php
@@ -22,10 +21,9 @@ var_dump($rao = assert_options(ASSERT_CALLBACK, "f1", 1));
 var_dump($rao=assert_options("F1", "f1"));
 
 //Wrong number of parameters for  assert()
-$sa="0 != 0";
-var_dump($r2 = assert($sa, "message", 1));
+var_dump($r2 = assert(0 != 0, "message", 1));
 
-var_dump($rc = assert('aa=sd+as+safsafasfaçsafçsafç'));
+?>
 --EXPECTF--
 Warning: assert_options() expects at most 2 parameters, 3 given in %s on line %d
 NULL
@@ -35,5 +33,3 @@ NULL
 
 Warning: assert() expects at most 2 parameters, 3 given in %s on line %d
 NULL
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
index d1b6f1745f94a574f625f3515aa2fe83700e14c5..de00743b1be6141029b4c109f812481eac33e578 100644 (file)
@@ -4,7 +4,6 @@ assert() - basic - Test that bailout works
 assert.active = 1
 assert.warning = 1
 assert.callback = f1
-assert.quiet_eval = 1
 assert.bail = 0
 error_reporting = -1
 display_errors = 1
@@ -17,18 +16,10 @@ function f1($script, $line, $message, $user_message)
 
 //bail out on error
 var_dump($rao = assert_options(ASSERT_BAIL, 1));
-var_dump($r2 = assert("0 != 0"));
+var_dump($r2 = assert(0 != 0));
 echo "If this is printed BAIL hasn't worked";
 --EXPECTF--
 int(0)
+f1 called
 
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Warning: assert(): Assertion "0 != 0" failed in %s on line 9
-
-Fatal error: Uncaught ArgumentCountError: Too few arguments to function f1(), 3 passed and exactly 4 expected in %sassert_error2.php:2
-Stack trace:
-#0 [internal function]: f1('%s', 9, '0 != 0')
-#1 %sassert_error2.php(9): assert('0 != 0')
-#2 {main}
-  thrown in %sassert_error2.php on line 2
+Warning: assert(): assert(0 != 0) failed in %s on line %d
diff --git a/ext/standard/tests/assert/assert_error3.phpt b/ext/standard/tests/assert/assert_error3.phpt
deleted file mode 100644 (file)
index 24538f4..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
---TEST--
-assert() - basic - Test recoverable error
---INI--
-assert.active = 1
-assert.warning = 1
-assert.callback = f1
-assert.quiet_eval = 0
-assert.bail = 0
-error_reporting = -1
-display_errors = 1
---FILE--
-<?php
-var_dump($r2 = assert("0 $ 0"));
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Fatal error: Uncaught ParseError: syntax error, unexpected '$', expecting ';' in %s(%d) : assert code:1
-Stack trace:
-#0 %s(%d): assert('0 $ 0')
-#1 {main}
-
-Next Error: Failure evaluating code: 
-0 $ 0 in %s:%d
-Stack trace:
-#0 %s(%d): assert('0 $ 0')
-#1 {main}
-  thrown in %s on line %d
diff --git a/ext/standard/tests/assert/assert_error4.phpt b/ext/standard/tests/assert/assert_error4.phpt
deleted file mode 100644 (file)
index 59b4df6..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---TEST--
-assert() - basic - Test recoverable error
---INI--
-assert.active = 1
-assert.warning = 1
-assert.callback = f1
-assert.quiet_eval = 0
-assert.bail = 0
-error_reporting = -1
-display_errors = 1
---FILE--
-<?php
-$sa = "0 $ 0";
-var_dump($r2 = assert($sa, "Describing what was asserted"));
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Fatal error: Uncaught ParseError: syntax error, unexpected '$', expecting ';' in %s(%d) : assert code:1
-Stack trace:
-#0 %s(%d): assert('0 $ 0', 'Describing what...')
-#1 {main}
-
-Next Error: Failure evaluating code: 
-Describing what was asserted:"0 $ 0" in %s:%d
-Stack trace:
-#0 %s(%d): assert('0 $ 0', 'Describing what...')
-#1 {main}
-  thrown in %s on line %d
index 023f6690c5a09923dd0731484deefc7213bc1dac..d0cb90ff66b0f5e36890a930cb0a3b9febd7e3fd 100644 (file)
@@ -5,7 +5,6 @@ assert.active = 1
 assert.warning = 0
 assert.callback = f1
 assert.bail = 0
-assert.quiet_eval = 0
 --FILE--
 <?php
 function f1()
@@ -22,29 +21,28 @@ function f3()
 }
 class c1
 {
-       function assert($file, $line, $myev)
+       static function assert($file, $line, $unused, $desc)
        {
-               echo "Class assertion failed $line, \"$myev\"\n";
+               echo "Class assertion failed $line, \"$desc\"\n";
        }
 }
 echo "Initial values: assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
 echo "Initial values: ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
-$sa = "0 != 0";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 
 echo "Change callback function using ini.set and test return value \n";
 var_dump($rv = ini_set("assert.callback","f2"));
 echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
 echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 
 echo "Change callback function using assert_options and test return value \n";
 var_dump($rv=assert_options(ASSERT_CALLBACK, "f3"));
 echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
 echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 
 
@@ -52,14 +50,14 @@ echo "Reset the name of the callback routine to a class method and check that it
 var_dump($rc=assert_options(ASSERT_CALLBACK, "c1"));
 echo "assert_options(ASSERT_CALLBACK) => [".assert_options(ASSERT_CALLBACK)."]\n";
 echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 
 echo "Reset callback options to use a class method \n";
 var_dump($rc = assert_options(ASSERT_CALLBACK,array("c1","assert")));
 var_dump($rao=assert_options(ASSERT_CALLBACK));
 echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 
 echo "Reset callback options to use an object method \n";
@@ -67,13 +65,11 @@ $o = new c1();
 var_dump($rc=assert_options(ASSERT_CALLBACK,array(&$o,"assert")));
 var_dump($rao=assert_options(ASSERT_CALLBACK));
 echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n";
-var_dump($r2=assert($sa));
+var_dump($r2=assert(0 != 0));
 echo"\n";
 --EXPECTF--
 Initial values: assert_options(ASSERT_CALLBACK) => [f1]
 Initial values: ini.get("assert.callback") => [f1]
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 f1 called
 bool(false)
 
@@ -81,8 +77,6 @@ Change callback function using ini.set and test return value
 string(2) "f1"
 assert_options(ASSERT_CALLBACK) => [f2]
 ini.get("assert.callback") => [f2]
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 f2 called
 bool(false)
 
@@ -90,8 +84,6 @@ Change callback function using assert_options and test return value
 string(2) "f2"
 assert_options(ASSERT_CALLBACK) => [f3]
 ini.get("assert.callback") => [f2]
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 f3 called
 bool(false)
 
@@ -99,8 +91,6 @@ Reset the name of the callback routine to a class method and check that it works
 string(2) "f3"
 assert_options(ASSERT_CALLBACK) => [c1]
 ini.get("assert.callback") => [f2]
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
 bool(false)
 
 Reset callback options to use a class method 
@@ -113,11 +103,7 @@ array(2) {
 }
 ini.get("assert.callback") => [f2]
 
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-
-Deprecated: Non-static method c1::assert() should not be called statically in %s on line 53
-Class assertion failed 53, "0 != 0"
+Class assertion failed 52, "assert(0 != 0)"
 bool(false)
 
 Reset callback options to use an object method 
@@ -136,7 +122,5 @@ array(2) {
 }
 ini.get("assert.callback") => [f2]
 
-
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-Class assertion failed 61, "0 != 0"
+Class assertion failed 60, "assert(0 != 0)"
 bool(false)
diff --git a/ext/standard/tests/assert/bug73303.phpt b/ext/standard/tests/assert/bug73303.phpt
deleted file mode 100644 (file)
index 7264f5a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---TEST--
-Bug #73303: Scope not inherited by eval in assert()
---FILE--
-<?php
-
-class Test {
-       public $prop;
-
-       public function main(){
-               assert('self::checkCacheKey(get_object_vars($this))');
-               echo 'Success';
-       }
-       private static function checkCacheKey($obj_properties){
-               return count($obj_properties) == 1;
-       }
-}
-
-$obj = new Test();
-$obj->main();
-
-?>
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d
-Success
index d7445e6d9b094c7aee237093c49ee9c1eb4bad38..81148ffb309511d95b6d918d62003c3ac24c475d 100644 (file)
@@ -1593,11 +1593,6 @@ zend.assertions = 1
 ; http://php.net/assert.callback
 ;assert.callback = 0
 
-; Eval the expression with current error_reporting().  Set to true if you want
-; error_reporting(0) around the eval().
-; http://php.net/assert.quiet-eval
-;assert.quiet_eval = 0
-
 [COM]
 ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
 ; http://php.net/com.typelib-file
index 5b7f827aa3be8c8918bb0d4b23e55b8ccf9d49c7..449361f88f6db1d1a18bcbf1677ba5c2cd855558 100644 (file)
@@ -1593,11 +1593,6 @@ zend.assertions = -1
 ; http://php.net/assert.callback
 ;assert.callback = 0
 
-; Eval the expression with current error_reporting().  Set to true if you want
-; error_reporting(0) around the eval().
-; http://php.net/assert.quiet-eval
-;assert.quiet_eval = 0
-
 [COM]
 ; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs
 ; http://php.net/com.typelib-file
diff --git a/tests/lang/bug23922.phpt b/tests/lang/bug23922.phpt
deleted file mode 100644 (file)
index 22c4aaa..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
---TEST--
-Bug #23922 (scope doesn't properly propagate into internal functions)
---FILE--
-<?php
-  class foo
-  {
-    public $foo = 1;
-
-    function as_string()
-    { assert('$this->foo == 1'); }
-
-    function as_expr()
-    { assert($this->foo == 1); }
-  }
-
-  $foo = new foo();
-  $foo->as_expr();
-  $foo->as_string();
-?>
---EXPECTF--
-Deprecated: assert(): Calling assert() with a string argument is deprecated in %s on line %d