summaryrefslogtreecommitdiff
path: root/ext/mysqli/tests/mysqli_class_mysqli_warning.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mysqli/tests/mysqli_class_mysqli_warning.phpt')
-rw-r--r--ext/mysqli/tests/mysqli_class_mysqli_warning.phpt132
1 files changed, 132 insertions, 0 deletions
diff --git a/ext/mysqli/tests/mysqli_class_mysqli_warning.phpt b/ext/mysqli/tests/mysqli_class_mysqli_warning.phpt
new file mode 100644
index 0000000..62f01ca
--- /dev/null
+++ b/ext/mysqli/tests/mysqli_class_mysqli_warning.phpt
@@ -0,0 +1,132 @@
+--TEST--
+Interface of the class mysqli_warning - TODO
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+require_once('connect.inc');
+
+if (!$TEST_EXPERIMENTAL)
+ die("skip - experimental (= unsupported) feature");
+?>
+--FILE--
+<?php
+ require('connect.inc');
+
+ $warning = new mysqli_warning();
+ $warning = new mysqli_warning(null);
+ $warning = new mysqli_warning(null, null);
+
+ $mysqli = new mysqli();
+ $warning = new mysqli_warning($mysqli);
+
+ $mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket);
+ $stmt = new mysqli_stmt($mysqli);
+ $warning = new mysqli_warning($stmt);
+
+ $stmt = $mysqli->stmt_init();
+ $warning = new mysqli_warning($stmt);
+
+ $obj = new stdClass();
+ $warning = new mysqli_warning($obj);
+
+ include("table.inc");
+ $mysqli = new my_mysqli($host, $user, $passwd, $db, $port, $socket);
+ $res = $mysqli->query('INSERT INTO test(id, label) VALUES (1, "zz")');
+ $warning = mysqli_get_warnings($mysqli);
+
+ printf("Parent class:\n");
+ var_dump(get_parent_class($warning));
+
+ printf("\nMethods:\n");
+ $methods = get_class_methods($warning);
+ $expected_methods = array(
+ 'next' => true,
+ );
+
+ foreach ($methods as $k => $method) {
+ if (isset($expected_methods[$method])) {
+ unset($methods[$k]);
+ unset($expected_methods[$method]);
+ }
+ }
+ if (!empty($methods)) {
+ printf("Dumping list of unexpected methods.\n");
+ var_dump($methods);
+ }
+ if (!empty($expected_methods)) {
+ printf("Dumping list of missing methods.\n");
+ var_dump($expected_methods);
+ }
+ if (empty($methods) && empty($expected_methods))
+ printf("ok\n");
+
+ printf("\nClass variables:\n");
+ $variables = get_class_vars(get_class($mysqli));
+ sort($variables);
+ foreach ($variables as $k => $var)
+ printf("%s\n", $var);
+
+ printf("\nObject variables:\n");
+ $variables = get_object_vars($mysqli);
+ foreach ($variables as $k => $var)
+ printf("%s\n", $var);
+
+ printf("\nMagic, magic properties:\n");
+
+ assert('' === $warning->message);
+ printf("warning->message = '%s'\n", $warning->message);
+
+ assert('' === $warning->sqlstate);
+ printf("warning->sqlstate= '%s'\n", $warning->sqlstate);
+
+ assert(0 === $warning->errno);
+ printf("warning->errno = '%s'\n", $warning->errno);
+
+ printf("\nAccess to undefined properties:\n");
+ printf("warning->unknown = '%s'\n", @$warning->unknown);
+
+ print "done!";
+?>
+--CLEAN--
+<?php
+ require_once("clean_table.inc");
+?>
+--EXPECTF--
+Warning: Wrong parameter count for mysqli_warning::mysqli_warning() in %s on line %d
+
+Warning: mysqli_warning::mysqli_warning() expects parameter 1 to be object, null given in %s on line %d
+
+Warning: Wrong parameter count for mysqli_warning::mysqli_warning() in %s on line %d
+
+Warning: mysqli_warning::mysqli_warning(): Couldn't fetch mysqli in %s on line %d
+
+Warning: mysqli_warning::mysqli_warning(): invalid object or resource mysqli_stmt
+ in %s on line %d
+
+Warning: mysqli_warning::mysqli_warning(): invalid object or resource mysqli_stmt
+ in %s on line %d
+
+Warning: mysqli_warning::mysqli_warning(): invalid class argument in /home/nixnutz/php6_mysqlnd/ext/mysqli/tests/mysqli_class_mysqli_warning.php on line 19
+
+Warning: mysqli_warning::mysqli_warning(): No warnings found in %s on line %d
+Parent class:
+bool(false)
+
+Methods:
+ok
+
+Class variables:
+
+Object variables:
+
+Magic, magic properties:
+warning->message = ''
+warning->sqlstate= ''
+warning->errno = ''
+
+Access to undefined properties:
+
+warning->unknown = ''
+done! \ No newline at end of file