diff options
Diffstat (limited to 'ext/sqlite/tests')
-rw-r--r-- | ext/sqlite/tests/sqlite_exec_basic.phpt | 34 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_exec_error.phpt | 44 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_last_error_basic.phpt | 48 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_last_error_error.phpt | 47 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_popen_basic.phpt | 27 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_popen_error.phpt | 34 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_session_001.phpt | 46 | ||||
-rw-r--r-- | ext/sqlite/tests/sqlite_session_002.phpt | 54 |
8 files changed, 334 insertions, 0 deletions
diff --git a/ext/sqlite/tests/sqlite_exec_basic.phpt b/ext/sqlite/tests/sqlite_exec_basic.phpt new file mode 100644 index 0000000000..e7e13db044 --- /dev/null +++ b/ext/sqlite/tests/sqlite_exec_basic.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test sqlite_exec() function : basic functionality +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?> +--FILE-- +<?php +/* Prototype : boolean sqlite_exec(string query, resource db[, string &error_message]) + * Description: Executes a result-less query against a given database + * Source code: ext/sqlite/sqlite.c + * Alias to functions: + */ + +echo "*** Testing sqlite_exec() : basic functionality ***\n"; + +// set up variables +$query = 'CREATE TABLE foobar (id INTEGER PRIMARY KEY, name CHAR(255));'; +$error_message = null; + +// procedural +$db = sqlite_open(':memory:'); +var_dump( sqlite_exec($db, $query) ); +sqlite_close($db); + +// oo-style +$db = new SQLiteDatabase(':memory:'); +var_dump( $db->queryExec($query, $error_message) ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sqlite_exec() : basic functionality *** +bool(true) +bool(true) +===DONE=== diff --git a/ext/sqlite/tests/sqlite_exec_error.phpt b/ext/sqlite/tests/sqlite_exec_error.phpt new file mode 100644 index 0000000000..74cfa9a3e8 --- /dev/null +++ b/ext/sqlite/tests/sqlite_exec_error.phpt @@ -0,0 +1,44 @@ +--TEST-- +Test sqlite_exec() function : error behaviour and functionality +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?> +--FILE-- +<?php +/* Prototype : boolean sqlite_exec(string query, resource db[, string &error_message]) + * Description: Executes a result-less query against a given database + * Source code: ext/sqlite/sqlite.c + * Alias to functions: + */ + +echo "*** Testing sqlite_exec() : error functionality ***\n"; + +// set up variables +$fail = 'CRE ATE TABLE'; +$error_message = null; + +// procedural +$db = sqlite_open(':memory:'); +var_dump( sqlite_exec($db, $fail, $error_message) ); +var_dump( $error_message ); +var_dump( sqlite_exec($db) ); +sqlite_close($db); + +// oo-style +$db = new SQLiteDatabase(':memory:'); +var_dump( $db->queryExec($fail, $error_message, 'fooparam') ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sqlite_exec() : error functionality *** + +Warning: sqlite_exec(): near "CRE": syntax error in %s on line %d +bool(false) +%string|unicode%(24) "near "CRE": syntax error" + +Warning: sqlite_exec() expects at least 2 parameters, 1 given in %s on line %d +NULL + +Warning: SQLiteDatabase::queryExec() expects at most 2 parameters, 3 given in %s on line %d +NULL +===DONE=== diff --git a/ext/sqlite/tests/sqlite_last_error_basic.phpt b/ext/sqlite/tests/sqlite_last_error_basic.phpt new file mode 100644 index 0000000000..f3a7b8320e --- /dev/null +++ b/ext/sqlite/tests/sqlite_last_error_basic.phpt @@ -0,0 +1,48 @@ +--TEST-- +Test sqlite_last_error() function : basic functionality +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?> +--FILE-- +<?php +/* Prototype : int sqlite_last_error(resource db) + * Description: Returns the error code of the last error for a database. + * Source code: ext/sqlite/sqlite.c + * Alias to functions: + */ + +echo "*** Testing sqlite_last_error() : basic functionality ***\n"; + +// set up variables +$query = 'CREATE TAB LE foobar (id INTEGER PRIMARY KEY, name CHAR(255));'; +$query_ok = 'CREATE TABLE foobar (id INTEGER, name CHAR(255));'; + +// procedural +$db = sqlite_open(':memory:'); +var_dump( sqlite_last_error($db) === SQLITE_OK ); +sqlite_exec($db, $query); +var_dump( sqlite_last_error($db) === SQLITE_ERROR ); +sqlite_exec($db, $query_ok); +var_dump( sqlite_last_error($db) === SQLITE_OK ); +sqlite_close($db); + +// oo-style +$db = new SQLiteDatabase(':memory:'); +$db->queryExec($query); +var_dump( $db->lastError() === SQLITE_ERROR ); +$db->queryExec($query_ok); +var_dump( $db->lastError() === SQLITE_OK ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sqlite_last_error() : basic functionality *** +bool(true) + +Warning: sqlite_exec(): near "TAB": syntax error in %s on line %d +bool(true) +bool(true) + +Warning: SQLiteDatabase::queryExec(): near "TAB": syntax error in %s on line %d +bool(true) +bool(true) +===DONE=== diff --git a/ext/sqlite/tests/sqlite_last_error_error.phpt b/ext/sqlite/tests/sqlite_last_error_error.phpt new file mode 100644 index 0000000000..c930048365 --- /dev/null +++ b/ext/sqlite/tests/sqlite_last_error_error.phpt @@ -0,0 +1,47 @@ +--TEST-- +Test sqlite_last_error() function : error conditions +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?> +--FILE-- +<?php +/* Prototype : int sqlite_last_error(resource db) + * Description: Returns the error code of the last error for a database. + * Source code: ext/sqlite/sqlite.c + * Alias to functions: + */ + +echo "*** Testing sqlite_last_error() : error conditions ***\n"; + +// Zero arguments +echo "\n-- Testing sqlite_last_error() function with Zero arguments --\n"; +var_dump( sqlite_last_error() ); + +//Test sqlite_last_error with one more than the expected number of arguments +echo "\n-- Testing sqlite_last_error() function with more than expected no. of arguments --\n"; + +$db = sqlite_open(':memory:'); +$extra_arg = 10; +var_dump( sqlite_last_error($db, $extra_arg) ); +sqlite_close($db); + +$db = new SQLiteDatabase(':memory:'); +var_dump( $db->lastError($extra_arg) ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sqlite_last_error() : error conditions *** + +-- Testing sqlite_last_error() function with Zero arguments -- + +Warning: sqlite_last_error() expects exactly 1 parameter, 0 given in %s on line %d +NULL + +-- Testing sqlite_last_error() function with more than expected no. of arguments -- + +Warning: sqlite_last_error() expects exactly 1 parameter, 2 given in %s on line %d +NULL + +Warning: SQLiteDatabase::lastError() expects exactly 0 parameters, 1 given in %s on line %d +NULL +===DONE=== diff --git a/ext/sqlite/tests/sqlite_popen_basic.phpt b/ext/sqlite/tests/sqlite_popen_basic.phpt new file mode 100644 index 0000000000..a3beaa10c8 --- /dev/null +++ b/ext/sqlite/tests/sqlite_popen_basic.phpt @@ -0,0 +1,27 @@ +--TEST-- +SQLite: sqlite_popen() basic tests +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip"; ?> +--FILE-- +<?php +/* Prototype : resource sqlite_popen(string filename [, int mode [, string &error_message]]) + * Description: Opens a persistent handle to a SQLite database. Will create the database if it does not exist. + * Source code: ext/sqlite/sqlite.c + * Alias to functions: +*/ + + $db1 = sqlite_popen(":memory:"); + $db2 = sqlite_popen(":memory:"); + + var_dump($db1); + var_dump($db2); + + list($resourceId1) = sscanf((string) $db1, "resource(%d) of type (sqlite database (persistent))"); + list($resourceId2) = sscanf((string) $db2, "resource(%d) of type (sqlite database (persistent))"); + + var_dump($resourceId1 === $resourceId2); +?> +--EXPECTF-- +resource(%d) of type (sqlite database (persistent)) +resource(%d) of type (sqlite database (persistent)) +bool(true) diff --git a/ext/sqlite/tests/sqlite_popen_error.phpt b/ext/sqlite/tests/sqlite_popen_error.phpt new file mode 100644 index 0000000000..aefb678c20 --- /dev/null +++ b/ext/sqlite/tests/sqlite_popen_error.phpt @@ -0,0 +1,34 @@ +--TEST-- +Test sqlite_popen() function : error conditions +--SKIPIF-- +<?php if (!extension_loaded("sqlite")) print "skip sqlite extension not loaded"; ?> +--FILE-- +<?php +/* Prototype : resource sqlite_popen(string filename [, int mode [, string &error_message]]) + * Description: Opens a persistent handle to a SQLite database. Will create the database if it does not exist. + * Source code: ext/sqlite/sqlite.c + * Alias to functions: + */ + +$message = ''; + +echo "*** Testing sqlite_popen() : error conditions ***\n"; + +var_dump( sqlite_popen() ); +var_dump( sqlite_popen(":memory:", 0666, $message, 'foobar') ); +var_dump( sqlite_popen("", 0666, $message) ); +var_dump( $message ); + +?> +===DONE=== +--EXPECTF-- +*** Testing sqlite_popen() : error conditions *** + +Warning: sqlite_popen() expects at least 1 parameter, 0 given in %s on line %d +NULL + +Warning: sqlite_popen() expects at most 3 parameters, 4 given in %s on line %d +NULL +bool(false) +NULL +===DONE=== diff --git a/ext/sqlite/tests/sqlite_session_001.phpt b/ext/sqlite/tests/sqlite_session_001.phpt new file mode 100644 index 0000000000..2fb2007c32 --- /dev/null +++ b/ext/sqlite/tests/sqlite_session_001.phpt @@ -0,0 +1,46 @@ +--TEST-- +sqlite, session storage test +--CREDITS-- +Mats Lindh <mats at lindh.no> +#Testfest php.no +--INI-- +session.save_handler = sqlite +--SKIPIF-- +if (!extension_loaded("session")) +{ + die("skip Session module not loaded"); +} +if (!extension_loaded("sqlite")) +{ + die("skip Session module not loaded"); +} +--FILE-- +<?php +/* Description: Tests that sqlite can be used as a session save handler +* Source code: ext/sqlite/sess_sqlite.c +*/ + +ob_start(); +session_save_path(__DIR__ . "/sessiondb.sdb"); + +// create the session and set a session value +session_start(); +$_SESSION["test"] = "foo_bar"; + +// close the session and unset the value +session_write_close(); +unset($_SESSION["test"]); +var_dump(isset($_SESSION["test"])); + +// start the session again and check that we have the proper value +session_start(); +var_dump($_SESSION["test"]); +ob_end_flush(); +?> +--EXPECTF-- +bool(false) +%unicode|string%(7) "foo_bar" +--CLEAN-- +<?php + unlink(__DIR__ . "/sessiondb.sdb") +?> diff --git a/ext/sqlite/tests/sqlite_session_002.phpt b/ext/sqlite/tests/sqlite_session_002.phpt new file mode 100644 index 0000000000..546ba1cd14 --- /dev/null +++ b/ext/sqlite/tests/sqlite_session_002.phpt @@ -0,0 +1,54 @@ +--TEST-- +sqlite, session destroy test +--CREDITS-- +Mats Lindh <mats at lindh.no> +#Testfest php.no +--INI-- +session.save_handler = sqlite +--SKIPIF-- +if (!extension_loaded("session")) +{ + die("skip Session module not loaded"); +} +if (!extension_loaded("sqlite")) +{ + die("skip sqlite module not loaded"); +} +--FILE-- +<?php +/* Description: Tests that sqlite will destroy a session when used as a session handler +* Source code: ext/sqlite/sess_sqlite.c +*/ +ob_start(); +session_save_path(__DIR__ . "/sessiondb.sdb"); + +// start a session and save a value to it before commiting the session to the database +session_start(); +$_SESSION["test"] = "foo_bar"; +session_write_close(); + +// remove the session value +unset($_SESSION["test"]); +var_dump(isset($_SESSION["test"])); + +// start the session again and destroy it +session_start(); +var_dump($_SESSION["test"]); +session_destroy(); +session_write_close(); + +unset($_SESSION["test"]); + +// check that the session has been destroyed +session_start(); +var_dump(isset($_SESSION["test"])); +ob_end_flush(); +?> +--EXPECTF-- +bool(false) +%unicode|string%(7) "foo_bar" +bool(false) +--CLEAN-- +<?php + unlink(__DIR__ . "/sessiondb.sdb") +?> |