List:Commits« Previous MessageNext Message »
From:uwendel Date:January 25 2008 12:30pm
Subject:PHP mysqlnd svn commit: r1224 - trunk/tests/ext/pdo_mysql
View as plain text  
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_mysqluwendel25 Jan