Author: uwendel
Date: 2008-01-25 13:30:31 +0100 (Fri, 25 Jan 2008)
New Revision: 1224
Added:
trunk/tests/ext/pdo_mysql/pdo_mysql_attr_connection_status.phpt
Modified:
trunk/tests/ext/pdo_mysql/TODO_TESTING
trunk/tests/ext/pdo_mysql/pdo_mysql_attr_case.phpt
Log:
PDO::ATTR_CONNECTION_STATUS and improvements on PDO::ATTR_CASE
Modified: trunk/tests/ext/pdo_mysql/TODO_TESTING
===================================================================
--- trunk/tests/ext/pdo_mysql/TODO_TESTING 2008-01-25 12:12:32 UTC (rev 1223)
+++ trunk/tests/ext/pdo_mysql/TODO_TESTING 2008-01-25 12:30:31 UTC (rev 1224)
@@ -167,7 +167,7 @@
[m] PDO::ATTR_SERVER_VERSION
[ ] PDO::ATTR_AUTOCOMMIT -> get()/set()/commit()/rollback()/SELECT @@autocommit
combinations
[m] PDO::ATTR_CASE -> semantics
- [ ] PDO::ATTR_CONNECTION_STATUS -> semantics
+ [m] PDO::ATTR_CONNECTION_STATUS -> semantics
[m] PDO::ATTR_PERSISTENT -> semantics
[ ] PDO::ATTR_PREFETCH -> not supported?
[ ] PDO::ATTR_TIMEOUT --> semantics !CONNECT/READ/WRITE
Modified: trunk/tests/ext/pdo_mysql/pdo_mysql_attr_case.phpt
===================================================================
--- trunk/tests/ext/pdo_mysql/pdo_mysql_attr_case.phpt 2008-01-25 12:12:32 UTC (rev 1223)
+++ trunk/tests/ext/pdo_mysql/pdo_mysql_attr_case.phpt 2008-01-25 12:30:31 UTC (rev 1224)
@@ -13,53 +13,78 @@
$db = MySQLPDOTest::factory();
MySQLPDOTest::createTestTable($db);
+ $default = $db->getAttribute(PDO::ATTR_CASE);
+ $known = array(
+ PDO::CASE_LOWER => 'PDO::CASE_LOWER',
+ PDO::CASE_UPPER => 'PDO::CASE_UPPER',
+ PDO::CASE_NATURAL => 'PDO::CASE_NATURAL'
+ );
+ if (!isset($known[$default]))
+ printf("[001] getAttribute(PDO::ATTR_CASE) returns unknown value '%s'\n",
+ var_export($default, true));
+ else
+ var_dump($known[$default]);
+
// lets see what the default is...
if (!is_object($stmt = $db->query('SELECT id, id AS "ID_UPPER", label FROM test ORDER
BY id ASC LIMIT 2')))
- printf("[009] %s - %s\n",
+ printf("[002] %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
var_dump($stmt->fetchAll(PDO::FETCH_BOTH));
if (true !== $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER))
- printf("[001] Cannot set PDO::ATTR_CASE = PDO::CASE_LOWER, %s - %s\n",
+ printf("[003] Cannot set PDO::ATTR_CASE = PDO::CASE_LOWER, %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
+ if (($tmp = $db->getAttribute(PDO::ATTR_CASE)) !== PDO::CASE_LOWER)
+ printf("[004] getAttribute(PDO::ATTR_CASE) returns wrong value '%s'\n",
+ var_export($tmp, true));
+
if (true === $db->exec('ALTER TABLE test ADD MiXeD CHAR(1)'))
- printf("[002] Cannot add column %s - %s\n",
+ printf("[005] Cannot add column %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
if (false === $db->exec('ALTER TABLE test ADD MYUPPER CHAR(1)'))
- printf("[003] Cannot add column %s - %s\n",
+ printf("[006] Cannot add column %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
if (!is_object($stmt = $db->query('SELECT id, id AS "ID_UPPER", label, MiXeD, MYUPPER
FROM test ORDER BY id ASC LIMIT 2')))
- printf("[004] %s - %s\n",
+ printf("[007] %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
var_dump($stmt->fetchAll(PDO::FETCH_BOTH));
if (true !== $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER))
- printf("[005] Cannot set PDO::ATTR_CASE = PDO::CASE_UPPER %s - %s\n",
+ printf("[008] Cannot set PDO::ATTR_CASE = PDO::CASE_UPPER %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
+ if (($tmp = $db->getAttribute(PDO::ATTR_CASE)) !== PDO::CASE_UPPER)
+ printf("[009] getAttribute(PDO::ATTR_CASE) returns wrong value '%s'\n",
+ var_export($tmp, true));
+
if (!is_object($stmt = $db->query('SELECT id, label, MiXeD, MYUPPER, MYUPPER AS
"lower" FROM test ORDER BY id ASC LIMIT 1')))
- printf("[006] %s - %s\n",
+ printf("[010] %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
var_dump($stmt->fetchAll(PDO::FETCH_BOTH));
if (true !== $db->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL))
- printf("[007] Cannot set PDO::ATTR_CASE = PDO::CASE_NATURAL %s - %s\n",
+ printf("[011] Cannot set PDO::ATTR_CASE = PDO::CASE_NATURAL %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
+ if (($tmp = $db->getAttribute(PDO::ATTR_CASE)) !== PDO::CASE_NATURAL)
+ printf("[012] getAttribute(PDO::ATTR_CASE) returns wrong value '%s'\n",
+ var_export($tmp, true));
+
if (!is_object($stmt = $db->query('SELECT id, label, MiXeD, MYUPPER, id AS "ID" FROM
test ORDER BY id ASC LIMIT 1')))
- printf("[008] %s - %s\n",
+ printf("[013] %s - %s\n",
var_export($db->errorInfo(), true), var_export($db->errorCode(), true));
var_dump($stmt->fetchAll(PDO::FETCH_BOTH));
print "done!";
--EXPECTF--
+string(15) "PDO::CASE_LOWER"
array(2) {
[0]=>
array(6) {
Added: trunk/tests/ext/pdo_mysql/pdo_mysql_attr_connection_status.phpt
===================================================================
--- trunk/tests/ext/pdo_mysql/pdo_mysql_attr_connection_status.phpt
(rev 0)
+++ trunk/tests/ext/pdo_mysql/pdo_mysql_attr_connection_status.phpt 2008-01-25 12:30:31
UTC (rev 1224)
@@ -0,0 +1,36 @@
+--TEST--
+PDO::ATTR_CONNECTION_STATUS
+--SKIPIF--
+<?php
+require_once('skipif.inc');
+require_once('mysql_pdo_test.inc');
+MySQLPDOTest::skip();
+$db = MySQLPDOTest::factory();
+?>
+--FILE--
+<?php
+ require_once('mysql_pdo_test.inc');
+ $db = MySQLPDOTest::factory();
+
+ $status = $db->getAttribute(PDO::ATTR_CONNECTION_STATUS);
+ if (ini_get('unicode.semantics')) {
+ if (!is_unicode($status))
+ printf("[001] Expecting unicode, got '%s'\n", var_export($status, true));
+ } else {
+ if (!is_string($status))
+ printf("[002] Expecting string, got '%s'\n", var_export($status, true));
+ }
+
+ if ('' == $status)
+ printf("[003] Connection status string must not be empty\n");
+
+ if (false !== $db->setAttribute(PDO::ATTR_CONNECTION_STATUS, 'my own connection
status'))
+ printf("[004] Changing read only attribute\n");
+
+ $status2 = $db->getAttribute(PDO::ATTR_CONNECTION_STATUS);
+ if ($status !== $status2)
+ printf("[005] Connection status should not have changed\n");
+
+ print "done!";
+--EXPECTF--
+done!
\ No newline at end of file
| Thread |
|---|
| • PHP mysqlnd svn commit: r1224 - trunk/tests/ext/pdo_mysql | uwendel | 25 Jan |