summaryrefslogtreecommitdiff
path: root/ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt')
-rw-r--r--ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt56
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt b/ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt
new file mode 100644
index 0000000..14f81a6
--- /dev/null
+++ b/ext/pdo_mysql/tests/pdo_mysql___construct_ini.phpt
@@ -0,0 +1,56 @@
+--TEST--
+MySQL PDO->__construct() - URI
+--SKIPIF--
+<?php
+require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'skipif.inc');
+require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
+MySQLPDOTest::skip();
+/* TODO - fix this limitation */
+if (getenv('PDO_MYSQL_TEST_DSN') !== "mysql:dbname=phptest;unix_socket=/tmp/mysql.sock")
+ die("skip Fix test to run in other environments as well!");
+?>
+--INI--
+pdo.dsn.mysql="mysql:dbname=phptest;socket=/tmp/mysql.sock"
+--FILE--
+<?php
+ require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'mysql_pdo_test.inc');
+
+ $found = false;
+ $values = ini_get_all();
+ foreach ($values as $name => $dsn)
+ if ('pdo.dsn.mysql' == $name) {
+ printf("pdo.dsn.mysql=%s\n", $dsn);
+ $found = true;
+ break;
+ }
+
+ if (!$found) {
+ $dsn = ini_get('pdo.dsn.mysql');
+ $found = ($dsn !== false);
+ }
+
+ if (!$found)
+ printf("pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get()\n");
+
+ if (MySQLPDOTest::getDSN() == $dsn) {
+ // we are lucky, we can run the test
+ try {
+
+ $user = PDO_MYSQL_TEST_USER;
+ $pass = PDO_MYSQL_TEST_PASS;
+ $db = new PDO('mysql', $user, $pass);
+
+ } catch (PDOException $e) {
+ printf("[001] %s, [%s] %s\n",
+ $e->getMessage(),
+ (is_object($db)) ? $db->errorCode() : 'n/a',
+ (is_object($db)) ? implode(' ', $db->errorInfo()) : 'n/a');
+ }
+
+ }
+
+ print "done!";
+?>
+--EXPECTF--
+pdo.dsn.mysql cannot be accessed through ini_get_all()/ini_get()
+done! \ No newline at end of file