php-src/ext/mysqli/tests/mysqli_class_mysqli_warning.phpt
Peter Kokot d679f02295 Sync leading and final newlines in *.phpt sections
This patch adds missing newlines, trims multiple redundant final
newlines into a single one, and trims redundant leading newlines in all
*.phpt sections.

According to POSIX, a line is a sequence of zero or more non-' <newline>'
characters plus a terminating '<newline>' character. [1] Files should
normally have at least one final newline character.

C89 [2] and later standards [3] mention a final newline:
"A source file that is not empty shall end in a new-line character,
which shall not be immediately preceded by a backslash character."

Although it is not mandatory for all files to have a final newline
fixed, a more consistent and homogeneous approach brings less of commit
differences issues and a better development experience in certain text
editors and IDEs.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
[2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2
[3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
2018-10-15 04:33:09 +02:00

132 lines
3.4 KiB
PHP

--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!