summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix De Vliegher <felixdv@php.net>2008-10-29 22:35:52 +0000
committerFelix De Vliegher <felixdv@php.net>2008-10-29 22:35:52 +0000
commit1c88dd1fa9f9238166aafa7d9a1fa61a655c0e08 (patch)
treef22b88c4af61e5e4d03a47f539ffc23f2a10b5dd
parentbf1f64467d84113e5f66b7d7e8f879ec581bd25f (diff)
downloadphp-git-1c88dd1fa9f9238166aafa7d9a1fa61a655c0e08.tar.gz
Tests for SQLite3Stmt::paramCount().
-rw-r--r--ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt59
-rw-r--r--ext/sqlite3/tests/sqlite3stmt_paramCount_error.phpt46
2 files changed, 105 insertions, 0 deletions
diff --git a/ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt b/ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt
new file mode 100644
index 0000000000..a4b29e3434
--- /dev/null
+++ b/ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt
@@ -0,0 +1,59 @@
+--TEST--
+SQLite3Stmt::paramCount basic test
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once(dirname(__FILE__) . '/new_db.inc');
+
+echo "Creating Table\n";
+var_dump($db->exec('CREATE TABLE foobar (id INTEGER, name STRING, city STRING)'));
+
+echo "INSERT into table\n";
+var_dump($db->exec("INSERT INTO foobar (id, name, city) VALUES (1, 'john', 'LA')"));
+var_dump($db->exec("INSERT INTO foobar (id, name, city) VALUES (2, 'doe', 'SF')"));
+
+
+$queryArray = array(
+ "SELECT * FROM foobar WHERE id = ? ORDER BY id ASC",
+ "SELECT * FROM foobar WHERE id = 2 ORDER BY id ASC",
+ "SELECT * FROM foobar WHERE id = :id AND name = :name ORDER BY id ASC",
+ "SELECT * FROM foobar WHERE id = 1 AND name = :name ORDER BY id ASC",
+);
+
+echo "SELECTING results\n";
+
+foreach($queryArray as $key => $query) {
+ $stmt = $db->prepare($query);
+
+ echo 'Param count for query ' . ($key + 1) . ":\n";
+ var_dump($stmt->paramCount());
+
+ $result = $stmt->execute();
+}
+
+echo "Closing database\n";
+$stmt = null;
+$result = null;
+var_dump($db->close());
+echo "Done\n";
+?>
+--EXPECTF--
+Creating Table
+bool(true)
+INSERT into table
+bool(true)
+bool(true)
+SELECTING results
+Param count for query 1:
+int(1)
+Param count for query 2:
+int(0)
+Param count for query 3:
+int(2)
+Param count for query 4:
+int(1)
+Closing database
+bool(true)
+Done
diff --git a/ext/sqlite3/tests/sqlite3stmt_paramCount_error.phpt b/ext/sqlite3/tests/sqlite3stmt_paramCount_error.phpt
new file mode 100644
index 0000000000..2aac6c2108
--- /dev/null
+++ b/ext/sqlite3/tests/sqlite3stmt_paramCount_error.phpt
@@ -0,0 +1,46 @@
+--TEST--
+SQLite3Stmt::paramCount error test
+--SKIPIF--
+<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once(dirname(__FILE__) . '/new_db.inc');
+
+echo "Creating Table\n";
+var_dump($db->exec('CREATE TABLE foobar (id INTEGER, name STRING, city STRING)'));
+
+echo "INSERT into table\n";
+var_dump($db->exec("INSERT INTO foobar (id, name, city) VALUES (1, 'john', 'LA')"));
+var_dump($db->exec("INSERT INTO foobar (id, name, city) VALUES (2, 'doe', 'SF')"));
+
+
+$query = "SELECT * FROM foobar WHERE id = ? ORDER BY id ASC";
+
+echo "SELECTING results\n";
+
+$stmt = $db->prepare($query);
+
+echo "paramCount with wrong number of arguments\n";
+var_dump($stmt->paramCount('foobar'));
+$result = $stmt->execute();
+echo "Closing database\n";
+$stmt = null;
+$result = null;
+var_dump($db->close());
+echo "Done\n";
+?>
+--EXPECTF--
+Creating Table
+bool(true)
+INSERT into table
+bool(true)
+bool(true)
+SELECTING results
+paramCount with wrong number of arguments
+
+Warning: SQLite3Stmt::paramCount() expects exactly 0 parameters, 1 given in %s on line %d
+NULL
+Closing database
+bool(true)
+Done