diff options
| -rw-r--r-- | ext/standard/tests/assert/assert_basic.phpt | 37 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_basic1.phpt | 34 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_basic3.phpt | 30 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_basic4.phpt | 48 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_basic5.phpt | 40 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_error.phpt | 32 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_error1.phpt | 53 | ||||
| -rw-r--r-- | ext/standard/tests/assert/assert_variation.phpt | 190 |
8 files changed, 464 insertions, 0 deletions
diff --git a/ext/standard/tests/assert/assert_basic.phpt b/ext/standard/tests/assert/assert_basic.phpt new file mode 100644 index 0000000000..a6738630ae --- /dev/null +++ b/ext/standard/tests/assert/assert_basic.phpt @@ -0,0 +1,37 @@ +--TEST-- +assert() - basic - check that assert runs when assert.active is set to 1. +--INI-- +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-- +f1 called +NULL +bool(true) +f1 called +NULL +bool(true) +--UEXPECTF-- +f1 called +NULL +bool(true) +f1 called +NULL +bool(true) diff --git a/ext/standard/tests/assert/assert_basic1.phpt b/ext/standard/tests/assert/assert_basic1.phpt new file mode 100644 index 0000000000..2bc87139cf --- /dev/null +++ b/ext/standard/tests/assert/assert_basic1.phpt @@ -0,0 +1,34 @@ +--TEST-- +assert() - basic - check that assert can be switched off +--INI-- +assert.active = 0 +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-- +bool(true) +bool(true) +bool(true) +bool(true) +--UEXPECTF-- +bool(true) +bool(true) +bool(true) +bool(true) diff --git a/ext/standard/tests/assert/assert_basic3.phpt b/ext/standard/tests/assert/assert_basic3.phpt new file mode 100644 index 0000000000..611cb5f5a8 --- /dev/null +++ b/ext/standard/tests/assert/assert_basic3.phpt @@ -0,0 +1,30 @@ +--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() +{ + echo "f1 called\n"; +} + +//bail out on error +var_dump($rao=assert_options(ASSERT_BAIL, 1)); +$sa = "0 != 0"; +var_dump($r2=assert($sa)); +echo "If this is printed BAIL hasn't worked"; +--EXPECTF-- +int(0) +f1 called + +Warning: assert(): Assertion "0 != 0" failed in %s on line 10 +--UEXPECTF-- +int(0) +f1 called + +Warning: assert(): Assertion "0 != 0" failed in %s on line 10 diff --git a/ext/standard/tests/assert/assert_basic4.phpt b/ext/standard/tests/assert/assert_basic4.phpt new file mode 100644 index 0000000000..84205968e6 --- /dev/null +++ b/ext/standard/tests/assert/assert_basic4.phpt @@ -0,0 +1,48 @@ +--TEST-- +assert() - basic - test initial values using ini.get and assert_options +--INI-- +assert.active = 0 +assert.warning = 0 +assert.bail = 0 +assert.quiet_eval = 0 +assert.callback = f1 +--FILE-- +<?php +// Check the initial settings for all assert_options + +//Using assert_options; +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"; + +--EXPECTF-- +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] +--UEXPECTF-- +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] diff --git a/ext/standard/tests/assert/assert_basic5.phpt b/ext/standard/tests/assert/assert_basic5.phpt new file mode 100644 index 0000000000..05c4f5fd80 --- /dev/null +++ b/ext/standard/tests/assert/assert_basic5.phpt @@ -0,0 +1,40 @@ +--TEST-- +assert() - basic - check switch on warnings using assert_options. +--INI-- +assert.active = 1 +assert.warning = 0 +assert.callback = f1 +assert.bail = 0 +assert.quiet_eval = 0 +--FILE-- +<?php +function f1() +{ + echo "f1 called\n"; +} + +//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)); + +//switch warning on and test return value +var_dump($rao=assert_options(ASSERT_WARNING, 0)); +--EXPECTF-- +int(0) +f1 called + +Warning: assert(): Assertion "0 != 0" failed in %s on line 10 +NULL +bool(true) +int(1) +--UEXPECTF-- +int(0) +f1 called + +Warning: assert(): Assertion "0 != 0" failed in %s on line 10 +NULL +bool(true) +int(1) diff --git a/ext/standard/tests/assert/assert_error.phpt b/ext/standard/tests/assert/assert_error.phpt new file mode 100644 index 0000000000..0d485054cc --- /dev/null +++ b/ext/standard/tests/assert/assert_error.phpt @@ -0,0 +1,32 @@ +--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-- +Notice: Use of undefined constant threemeninaboat - assumed 'threemeninaboat' in %s(9) : assert code on line 1 +bool(true) +int(0) +bool(true) +--UEXPECTF-- +Notice: Use of undefined constant threemeninaboat - assumed 'threemeninaboat' in %s(9) : assert code on line 1 +bool(true) +int(0) +bool(true) diff --git a/ext/standard/tests/assert/assert_error1.phpt b/ext/standard/tests/assert/assert_error1.phpt new file mode 100644 index 0000000000..718515f208 --- /dev/null +++ b/ext/standard/tests/assert/assert_error1.phpt @@ -0,0 +1,53 @@ +--TEST-- +assert() - error - invalid params +--INI-- +assert.active = 1 +assert.warning = 1 +assert.callback = f1 +assert.quiet_eval = 1 +assert.bail = 0 +--FILE-- +<?php +function f1() +{ + echo "f1 called\n"; +} +function handler($errno, $errstr) { + echo "in handler()\n\n"; + assert(E_RECOVERABLE_ERROR === $errno); + var_dump($errstr); +} + +//Wrong number of parameters for assert_options() +assert_options(ASSERT_WARNING, 1); +var_dump($rao=assert_options(ASSERT_CALLBACK,"f1",1)); + + +//Unknown option for assert_options() +var_dump($rao=assert_options("F1","f1")); + +//Wrong number of parameters for assert() +$sa="0 != 0"; +var_dump($r2=assert($sa,1)); + + +//Catch recoverable error with handler +var_dump($rc=assert('aa=sd+as+safsafasfaçsafçsafç')); +--EXPECTF-- +Warning: Wrong parameter count for assert_options() in %s on line 14 +NULL + +Warning: assert_options(): Unknown value 0 in %s on line 18 +bool(false) + +Warning: Wrong parameter count for assert() in %s on line 22 +NULL +--UEXPECTF-- +Warning: Wrong parameter count for assert_options() in %s on line 14 +NULL + +Warning: assert_options(): Unknown value 0 in %s on line 18 +bool(false) + +Warning: Wrong parameter count for assert() in %s on line 22 +NULL diff --git a/ext/standard/tests/assert/assert_variation.phpt b/ext/standard/tests/assert/assert_variation.phpt new file mode 100644 index 0000000000..a55bc56f52 --- /dev/null +++ b/ext/standard/tests/assert/assert_variation.phpt @@ -0,0 +1,190 @@ +--TEST-- +assert() - variation - test callback options using ini_get/ini_set/assert_options +--INI-- +assert.active = 1 +assert.warning = 0 +assert.callback = f1 +assert.bail = 0 +assert.quiet_eval = 0 +--FILE-- +<?php +function f1() +{ + echo "f1 called\n"; +} +function f2() +{ + echo "f2 called\n"; +} +function f3() +{ + echo "f3 called\n"; +} +class c1 +{ + function assert($file, $line, $myev) + { + echo "Class assertion failed $line, \"$myev\"\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)); +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)); +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)); +echo"\n"; + + +echo "Reset the name of the callback routine to a class method and check that it works\n"; +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)); +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)); +echo"\n"; + +echo "Reset callback options to use an object method \n"; +$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)); +echo"\n"; + +--EXPECTF-- +Initial values: assert_options(ASSERT_CALLBACK) => [f1] +Initial values: ini.get("assert.callback") => [f1] +f1 called +NULL + +Change callback function using ini.set and test return value +string(2) "f1" +assert_options(ASSERT_CALLBACK) => [f2] +ini.get("assert.callback") => [f2] +f2 called +NULL + +Change callback function using assert_options and test return value +string(2) "f2" +assert_options(ASSERT_CALLBACK) => [f3] +ini.get("assert.callback") => [f2] +f3 called +NULL + +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] +NULL + +Reset callback options to use a class method +string(2) "c1" +array(2) { + [0]=> + string(2) "c1" + [1]=> + string(6) "assert" +} +ini.get("assert.callback") => [f2] + + +Strict Standards: Non-static method c1::assert() cannot be called statically in %s on line 53 +Class assertion failed 53, "0 != 0" +NULL + +Reset callback options to use an object method +array(2) { + [0]=> + string(2) "c1" + [1]=> + string(6) "assert" +} +array(2) { + [0]=> + &object(c1)#1 (0) { + } + [1]=> + string(6) "assert" +} +ini.get("assert.callback") => [f2] + +Class assertion failed 61, "0 != 0" +NULL +--UEXPECTF-- +Initial values: assert_options(ASSERT_CALLBACK) => [f1] +Initial values: ini.get("assert.callback") => [f1] +f1 called +NULL + +Change callback function using ini.set and test return value +unicode(2) "f1" +assert_options(ASSERT_CALLBACK) => [f2] +ini.get("assert.callback") => [f2] +f2 called +NULL + +Change callback function using assert_options and test return value +unicode(2) "f2" +assert_options(ASSERT_CALLBACK) => [f3] +ini.get("assert.callback") => [f2] +f3 called +NULL + +Reset the name of the callback routine to a class method and check that it works +unicode(2) "f3" +assert_options(ASSERT_CALLBACK) => [c1] +ini.get("assert.callback") => [f2] +NULL + +Reset callback options to use a class method +unicode(2) "c1" +array(2) { + [0]=> + unicode(2) "c1" + [1]=> + unicode(6) "assert" +} +ini.get("assert.callback") => [f2] + + +Strict Standards: Non-static method c1::assert() cannot be called statically in %s on line 53 +Class assertion failed 53, "0 != 0" +NULL + +Reset callback options to use an object method +array(2) { + [0]=> + unicode(2) "c1" + [1]=> + unicode(6) "assert" +} +array(2) { + [0]=> + &object(c1)#1 (0) { + } + [1]=> + unicode(6) "assert" +} +ini.get("assert.callback") => [f2] + +Class assertion failed 61, "0 != 0" +NULL |
