]> granicus.if.org Git - php/commitdiff
Assert test cases
authorZoe Slattery <zoe@php.net>
Fri, 13 Jul 2007 15:20:12 +0000 (15:20 +0000)
committerZoe Slattery <zoe@php.net>
Fri, 13 Jul 2007 15:20:12 +0000 (15:20 +0000)
ext/standard/tests/assert/assert_basic.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_basic1.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_basic2.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_basic3.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_basic4.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_basic5.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_error.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_error1.phpt [new file with mode: 0644]
ext/standard/tests/assert/assert_variation.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/assert/assert_basic.phpt b/ext/standard/tests/assert/assert_basic.phpt
new file mode 100644 (file)
index 0000000..ea58e9f
--- /dev/null
@@ -0,0 +1,30 @@
+--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)
diff --git a/ext/standard/tests/assert/assert_basic1.phpt b/ext/standard/tests/assert/assert_basic1.phpt
new file mode 100644 (file)
index 0000000..8aed519
--- /dev/null
@@ -0,0 +1,29 @@
+--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)
diff --git a/ext/standard/tests/assert/assert_basic2.phpt b/ext/standard/tests/assert/assert_basic2.phpt
new file mode 100644 (file)
index 0000000..775e4f4
--- /dev/null
@@ -0,0 +1,37 @@
+--TEST--
+assert() basic - correct call back values before and after assert.
+--INI--
+assert.active = 1
+assert.warning = 1
+assert.callback=f1
+assert.bail = 0
+assert.quiet_eval = 0
+--FILE--
+<?php
+function f2() 
+{
+       echo "f2 called\n";
+}
+
+function f1() 
+{
+       echo "f1 called\n";
+}
+       
+var_dump($o = assert_options(ASSERT_CALLBACK));
+assert(0);
+  
+var_dump($o= assert_options(ASSERT_CALLBACK, "f2"));
+var_dump($n= assert_options(ASSERT_CALLBACK));
+assert(0);
+?>
+--EXPECTF--
+string(2) "f1"
+f1 called
+
+Warning: assert(): Assertion failed in %s on line 13
+string(2) "f1"
+string(2) "f2"
+f2 called
+
+Warning: assert(): Assertion failed in %s on line 17
diff --git a/ext/standard/tests/assert/assert_basic3.phpt b/ext/standard/tests/assert/assert_basic3.phpt
new file mode 100644 (file)
index 0000000..0ce3266
--- /dev/null
@@ -0,0 +1,25 @@
+--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
diff --git a/ext/standard/tests/assert/assert_basic4.phpt b/ext/standard/tests/assert/assert_basic4.phpt
new file mode 100644 (file)
index 0000000..2f11234
--- /dev/null
@@ -0,0 +1,37 @@
+--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]
diff --git a/ext/standard/tests/assert/assert_basic5.phpt b/ext/standard/tests/assert/assert_basic5.phpt
new file mode 100644 (file)
index 0000000..737f902
--- /dev/null
@@ -0,0 +1,32 @@
+--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)
diff --git a/ext/standard/tests/assert/assert_error.phpt b/ext/standard/tests/assert/assert_error.phpt
new file mode 100644 (file)
index 0000000..28655be
--- /dev/null
@@ -0,0 +1,27 @@
+--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)
diff --git a/ext/standard/tests/assert/assert_error1.phpt b/ext/standard/tests/assert/assert_error1.phpt
new file mode 100644 (file)
index 0000000..992b81e
--- /dev/null
@@ -0,0 +1,44 @@
+--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
diff --git a/ext/standard/tests/assert/assert_variation.phpt b/ext/standard/tests/assert/assert_variation.phpt
new file mode 100644 (file)
index 0000000..564d706
--- /dev/null
@@ -0,0 +1,131 @@
+--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