]> granicus.if.org Git - php/commitdiff
Tests for SQLite3Stmt::paramCount().
authorFelix De Vliegher <felixdv@php.net>
Wed, 29 Oct 2008 22:35:52 +0000 (22:35 +0000)
committerFelix De Vliegher <felixdv@php.net>
Wed, 29 Oct 2008 22:35:52 +0000 (22:35 +0000)
ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt [new file with mode: 0644]
ext/sqlite3/tests/sqlite3stmt_paramCount_error.phpt [new file with mode: 0644]

diff --git a/ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt b/ext/sqlite3/tests/sqlite3stmt_paramCount_basic.phpt
new file mode 100644 (file)
index 0000000..a4b29e3
--- /dev/null
@@ -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 (file)
index 0000000..2aac6c2
--- /dev/null
@@ -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