Author: uwendel
Date: 2007-08-21 16:30:03 +0200 (Tue, 21 Aug 2007)
New Revision: 937
Added:
trunk/tests/ext/mysqli/mysqli_fetch_field_types.phpt
Modified:
trunk/tests/ext/mysqli/mysqli_fetch_field.phpt
Log:
Moving the type test into it's own file
Modified: trunk/tests/ext/mysqli/mysqli_fetch_field.phpt
===================================================================
--- trunk/tests/ext/mysqli/mysqli_fetch_field.phpt 2007-08-21 13:56:18 UTC (rev 936)
+++ trunk/tests/ext/mysqli/mysqli_fetch_field.phpt 2007-08-21 14:30:03 UTC (rev 937)
@@ -52,107 +52,6 @@
var_dump(mysqli_fetch_field($res));
mysqli_free_result($res);
- function mysqli_field_datatypes($link, $sql_type, $php_value, $php_type, $datatypes) {
- if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {
- printf("[009 + 01] %s, [%d] %s\n", $sql_type,
- mysqli_errno($link), mysqli_error($link));
- return false;
- }
-
- $sql = sprintf("CREATE TABLE test(id %s)", $sql_type);
- if (!mysqli_query($link, $sql)) {
- printf("[009 + 02] %s, [%d] %s\n", $sql_type,
- mysqli_errno($link), mysqli_error($link));
- return false;
- }
-
- $sql = sprintf("INSERT INTO test(id) VALUES ('%s')", $php_value);
- if (!mysqli_query($link, $sql)) {
- printf("[009 + 03] %s, [%d] %s\n", $sql_type,
- mysqli_errno($link), mysqli_error($link));
- return false;
- }
-
- if (!$res = mysqli_query($link, 'SELECT id FROM test')) {
- printf("[009 + 04] %s, [%d] %s\n", $sql_type,
- mysqli_errno($link), mysqli_error($link));
- return false;
- }
-
- if (!is_object($field = mysqli_fetch_field($res))) {
- printf("[009 + 05] %s, expecting object got %s, [%d] %s\n", $sql_type,
- gettype($field),
- mysqli_errno($link), mysqli_error($link));
- return false;
- }
-
- if ($field->type != $php_type) {
- $code_name = 'unknown';
- foreach ($datatypes as $k => $v) {
- if ($k == $field->type) {
- $code_name = (is_array($v)) ? $v[0] : $v;
- break;
- }
- }
- printf("[009 + 6] Expecting %d for %s got code %d for %s\n",
- $php_type, $sql_type, $field->type, $code_name);
- return false;
- }
-
- return true;
- }
-
- $datatypes = array(
- MYSQLI_TYPE_TINY => array('TINYINT', 5),
- MYSQLI_TYPE_SHORT => array('SMALLINT', 10),
- MYSQLI_TYPE_LONG => 'MYSQLI_TYPE_LONG',
- MYSQLI_TYPE_FLOAT => array('FLOAT', '1.3'),
- MYSQLI_TYPE_DOUBLE => array('DOUBLE', '1.4'),
- MYSQLI_TYPE_TIMESTAMP => array('TIMESTAMP', '2007-08-20 18:34:00'),
- MYSQLI_TYPE_LONGLONG => array('BIGINT', 100),
- MYSQLI_TYPE_INT24 => array('MEDIUMINT', 10),
- MYSQLI_TYPE_DATE => array('DATE', '2007-08-20'),
- MYSQLI_TYPE_TIME => array('TIME', '18:41:38'),
- MYSQLI_TYPE_DATETIME => array('DATETIME', '2007-08-20 18:42:01'),
- MYSQLI_TYPE_YEAR => array('YEAR', '2007'),
- MYSQLI_TYPE_ENUM => array('ENUM("everything", "is", "just", "wonderful")', 'is'),
- MYSQLI_TYPE_SET => array('SET("I", "smash", "the")', 'I,smash,the'),
- MYSQLI_TYPE_TINY_BLOB => array("TINYBLOB", "I got a tiny blog"),
- MYSQLI_TYPE_MEDIUM_BLOB => array("MEDIUMBLOB", "No blob for masses"),
- MYSQLI_TYPE_LONG_BLOB => array("LONGBLOB", "Small is beautiful?"),
- MYSQLI_TYPE_BLOB => array("BLOB", 'silly'),
- MYSQLI_TYPE_VAR_STRING => array("VARCHAR(32768)", 'varchar'),
- MYSQLI_TYPE_STRING => 'MYSQLI_TYPE_STRING',
- MYSQLI_TYPE_CHAR => array('CHAR(1)', 'a'),
- MYSQLI_TYPE_NULL => 'MYSQLI_TYPE_NULL',
- MYSQLI_TYPE_NEWDATE => 'MYSQLI_TYPE_NEWDATE',
- MYSQLI_TYPE_INTERVAL => 'MYSQLI_TYPE_INTERVAL',
- MYSQLI_TYPE_GEOMETRY => 'MYSQLI_TYPE_GEOMETRY',
- );
-
- if ($IS_MYSQLND) {
- $version = 50007 + 1;
- } else {
- $version = mysqli_get_client_version();
- }
-
- if ($version > 50002) {
- $datatypes = array_merge($datatypes, array(
- MYSQLI_TYPE_NEWDECIMAL => array('DECIMAL', '1.1'),
- MYSQLI_TYPE_BIT => array('BIT', 0),
- ));
- } else {
- $datatypes = array_merge($datatypes, array(
- MYSQLI_TYPE_DECIMAL => array('DECIMAL', '1.1'),
- ));
- }
-
- sort($datatypes);
- foreach ($datatypes as $php_type => $datatype) {
- if (is_array($datatype))
- mysqli_field_datatypes($link, $datatype[0], $datatype[1], $php_type, $datatypes);
- }
-
mysqli_close($link);
print "done!";
Added: trunk/tests/ext/mysqli/mysqli_fetch_field_types.phpt
===================================================================
--- trunk/tests/ext/mysqli/mysqli_fetch_field_types.phpt 2007-08-21 13:56:18 UTC (rev 936)
+++ trunk/tests/ext/mysqli/mysqli_fetch_field_types.phpt 2007-08-21 14:30:03 UTC (rev 937)
@@ -0,0 +1,120 @@
+--TEST--
+mysqli_fetch_field() - data types/field->type
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('skipifemb.inc');
+require_once('skipifconnectfailure.inc');
+?>
+--FILE--
+<?php
+ include "connect.inc";
+ require('table.inc');
+
+ function mysqli_field_datatypes($link, $sql_type, $php_value, $php_type, $datatypes) {
+ if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {
+ printf("[001] %s, [%d] %s\n", $sql_type,
+ mysqli_errno($link), mysqli_error($link));
+ return false;
+ }
+
+ $sql = sprintf("CREATE TABLE test(id %s)", $sql_type);
+ if (!mysqli_query($link, $sql)) {
+ printf("[002] %s, [%d] %s\n", $sql_type,
+ mysqli_errno($link), mysqli_error($link));
+ return false;
+ }
+
+ $sql = sprintf("INSERT INTO test(id) VALUES ('%s')", $php_value);
+ if (!mysqli_query($link, $sql)) {
+ printf("[003] %s, [%d] %s\n", $sql_type,
+ mysqli_errno($link), mysqli_error($link));
+ return false;
+ }
+
+ if (!$res = mysqli_query($link, 'SELECT id FROM test')) {
+ printf("[004] %s, [%d] %s\n", $sql_type,
+ mysqli_errno($link), mysqli_error($link));
+ return false;
+ }
+
+ if (!is_object($field = mysqli_fetch_field($res))) {
+ printf("[004] %s, expecting object got %s, [%d] %s\n", $sql_type,
+ gettype($field),
+ mysqli_errno($link), mysqli_error($link));
+ return false;
+ }
+
+ if ($field->type != $php_type) {
+ $code_name = 'unknown';
+ foreach ($datatypes as $k => $v) {
+ if ($k == $field->type) {
+ $code_name = (is_array($v)) ? $v[0] : $v;
+ break;
+ }
+ }
+ printf("[006] Expecting %d for %s got code %d for %s\n",
+ $php_type, $sql_type, $field->type, $code_name);
+ return false;
+ }
+
+ return true;
+ }
+
+ $datatypes = array(
+ MYSQLI_TYPE_TINY => array('TINYINT', 5),
+ MYSQLI_TYPE_SHORT => array('SMALLINT', 10),
+ MYSQLI_TYPE_LONG => 'MYSQLI_TYPE_LONG',
+ MYSQLI_TYPE_FLOAT => array('FLOAT', '1.3'),
+ MYSQLI_TYPE_DOUBLE => array('DOUBLE', '1.4'),
+ MYSQLI_TYPE_TIMESTAMP => array('TIMESTAMP', '2007-08-20 18:34:00'),
+ MYSQLI_TYPE_LONGLONG => array('BIGINT', 100),
+ MYSQLI_TYPE_INT24 => array('MEDIUMINT', 10),
+ MYSQLI_TYPE_DATE => array('DATE', '2007-08-20'),
+ MYSQLI_TYPE_TIME => array('TIME', '18:41:38'),
+ MYSQLI_TYPE_DATETIME => array('DATETIME', '2007-08-20 18:42:01'),
+ MYSQLI_TYPE_YEAR => array('YEAR', '2007'),
+ MYSQLI_TYPE_ENUM => array('ENUM("everything", "is", "just", "wonderful")', 'is'),
+ MYSQLI_TYPE_SET => array('SET("I", "smash", "the")', 'I,smash,the'),
+ MYSQLI_TYPE_TINY_BLOB => array("TINYBLOB", "I got a tiny blog"),
+ MYSQLI_TYPE_MEDIUM_BLOB => array("MEDIUMBLOB", "No blob for masses"),
+ MYSQLI_TYPE_LONG_BLOB => array("LONGBLOB", "Small is beautiful?"),
+ MYSQLI_TYPE_BLOB => array("BLOB", 'silly'),
+ MYSQLI_TYPE_VAR_STRING => array("VARCHAR(32768)", 'varchar'),
+ MYSQLI_TYPE_STRING => 'MYSQLI_TYPE_STRING',
+ MYSQLI_TYPE_CHAR => array('CHAR(1)', 'a'),
+ MYSQLI_TYPE_NULL => 'MYSQLI_TYPE_NULL',
+ MYSQLI_TYPE_NEWDATE => 'MYSQLI_TYPE_NEWDATE',
+ MYSQLI_TYPE_INTERVAL => 'MYSQLI_TYPE_INTERVAL',
+ MYSQLI_TYPE_GEOMETRY => 'MYSQLI_TYPE_GEOMETRY',
+ );
+
+ if ($IS_MYSQLND) {
+ $version = 50007 + 1;
+ } else {
+ $version = mysqli_get_client_version();
+ }
+
+ if ($version > 50002) {
+ $datatypes = array_merge($datatypes, array(
+ MYSQLI_TYPE_NEWDECIMAL => array('DECIMAL', '1.1'),
+ MYSQLI_TYPE_BIT => array('BIT', 0),
+ ));
+ } else {
+ $datatypes = array_merge($datatypes, array(
+ MYSQLI_TYPE_DECIMAL => array('DECIMAL', '1.1'),
+ ));
+ }
+
+ sort($datatypes);
+ foreach ($datatypes as $php_type => $datatype) {
+ if (is_array($datatype))
+ mysqli_field_datatypes($link, $datatype[0], $datatype[1], $php_type, $datatypes);
+ }
+
+ mysqli_close($link);
+
+ print "done!";
+?>
+--EXPECTF--
+done!
\ No newline at end of file
| Thread |
|---|
| • PHP mysqlnd svn commit: r937 - trunk/tests/ext/mysqli | uwendel | 21 Aug |