php-src/ext/mysql/tests/mysql_db_name.phpt
Ulf Wendel f8156f1607 Trying to skip tests if they can't connect to the DB server.
Currently they have failed by default. Note also the environment
variable MYSQL_TEST_SKIP_CONNECT_FAILURE to control the default (skip or fail)
2007-10-12 11:57:18 +00:00

66 lines
2.0 KiB
PHP

--TEST--
mysql_db_name()
--SKIPIF--
<?php
require_once('skipif.inc');
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
include "connect.inc";
$tmp = NULL;
$link = NULL;
if (NULL !== ($tmp = @mysql_db_name()))
printf("[001] Expecting NULL, got %s/%s\n", gettype($tmp), $tmp);
if (false !== ($tmp = @mysql_db_name($link, $link)))
printf("[002] Expecting boolean/false, got %s/%s\n", gettype($tmp), $tmp);
require('table.inc');
if (!$res = mysql_list_dbs($link))
printf("[003] [%d] %s\n", mysql_errno($link), mysql_error($link));
if (!$num = mysql_num_rows($res))
printf("[004] Empty database list? [%d] %s\n", mysql_errno($link), mysql_error($link));
if (false !== ($tmp = mysql_db_name($res, -1)))
printf("[005] Expecting boolean/false, got %s/%s. [%d] %s\n",
gettype($tmp), $tmp, mysql_errno($link), mysql_error($link));
if (false !== ($tmp = mysql_db_name($res, $num + 1)))
printf("[006] Expecting boolean/false, got %s/%s. [%d] %s\n",
gettype($tmp), $tmp, mysql_errno($link), mysql_error($link));
$unicode = (boolean)ini_get('unicode.semantics');
for ($i = 0; $i < $num; $i++) {
if ('' === ($dbname = mysql_db_name($res, $i)))
printf("[%03d] Got empty database name! [%d] %s\n",
(($i * 2) + 1) + 6, mysql_errno($link), mysql_error($link));
if ($unicode && !is_unicode($dbname)) {
printf("[%03d] Expecting unicode string! [%d] %s\n",
(($i * 2) + 2) + 6, mysql_errno($link), mysql_error($link));
var_inspect($dbname);
}
}
mysql_free_result($res);
if (false !== ($tmp = mysql_db_name($res, $num)))
printf("[999] Expecting boolean/false, got %s/%s. [%d] %s\n",
gettype($tmp), $tmp, mysql_errno($link), mysql_error($link));
mysql_close($link);
print "done!\n";
?>
--EXPECTF--
Warning: mysql_db_name(): Unable to jump to row -1 on MySQL result index %d in %s on line %d
Warning: mysql_db_name(): Unable to jump to row %d on MySQL result index %d in %s on line %d
Warning: mysql_db_name(): %d is not a valid MySQL result resource in %s on line %d
done!