summaryrefslogtreecommitdiff
path: root/ext/dba
diff options
context:
space:
mode:
authorChristopher Jones <sixd@php.net>2010-03-19 22:15:40 +0000
committerChristopher Jones <sixd@php.net>2010-03-19 22:15:40 +0000
commitad0e1ae3f17d9298470fba9a1dfdd21820e9e529 (patch)
tree0589efb4b2ccdd33f45dc2e5ee5a566c96a5d459 /ext/dba
parentf92fae2f6690a10edb547e85f550945a4e2072bd (diff)
downloadphp-git-ad0e1ae3f17d9298470fba9a1dfdd21820e9e529.tar.gz
New tests for existing functionality
Diffstat (limited to 'ext/dba')
-rw-r--r--ext/dba/tests/dba016.phpt23
-rw-r--r--ext/dba/tests/dba_db4_017.phpt37
-rw-r--r--ext/dba/tests/dba_db4_018.phpt76
3 files changed, 136 insertions, 0 deletions
diff --git a/ext/dba/tests/dba016.phpt b/ext/dba/tests/dba016.phpt
new file mode 100644
index 0000000000..29726ac11a
--- /dev/null
+++ b/ext/dba/tests/dba016.phpt
@@ -0,0 +1,23 @@
+--TEST--
+DBA lock modifier error message test
+--SKIPIF--
+<?php
+$handler = "flatfile";
+require_once(dirname(__FILE__) .'/skipif.inc');
+?>
+--FILE--
+<?php
+
+$handler = "flatfile";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+$db_file1 = dba_popen($db_filename, 'n-t', 'flatfile');
+
+?>
+===DONE===
+--EXPECTF--
+database handler: flatfile
+
+Warning: dba_popen(%stest0.dbm,n-t): You cannot combine modifiers - (no lock) and t (test lock) in %sdba016.php on line %d
+===DONE===
diff --git a/ext/dba/tests/dba_db4_017.phpt b/ext/dba/tests/dba_db4_017.phpt
new file mode 100644
index 0000000000..12bf3df866
--- /dev/null
+++ b/ext/dba/tests/dba_db4_017.phpt
@@ -0,0 +1,37 @@
+--TEST--
+DBA DB4 file creation dba_open("cd")
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+if (($db_file = dba_open($db_filename, "cd", $handler)) !== FALSE) {
+ if (file_exists($db_filename)) {
+ echo "database file created\n";
+ var_dump(dba_insert("key1", "This is a test insert", $db_file));
+ echo dba_fetch("key1", $db_file), "\n";
+ dba_close($db_file);
+ } else {
+ echo "File did not get created\n";
+ }
+} else {
+ echo "Error creating $db_filename\n";
+}
+
+?>
+--CLEAN--
+<?php
+require(dirname(__FILE__) .'/clean.inc');
+?>
+--EXPECTF--
+database handler: db4
+database file created
+bool(true)
+This is a test insert
diff --git a/ext/dba/tests/dba_db4_018.phpt b/ext/dba/tests/dba_db4_018.phpt
new file mode 100644
index 0000000000..ecd1980e46
--- /dev/null
+++ b/ext/dba/tests/dba_db4_018.phpt
@@ -0,0 +1,76 @@
+--TEST--
+DBA DB4 with persistent connections
+--SKIPIF--
+<?php
+$handler = "db4";
+require_once(dirname(__FILE__) .'/skipif.inc');
+die("info $HND handler used");
+?>
+--FILE--
+<?php
+
+$handler = "db4";
+require_once(dirname(__FILE__) .'/test.inc');
+echo "database handler: $handler\n";
+
+echo "Test 1\n";
+$db_file1 = dba_popen($db_filename, 'n', 'flatfile');
+dba_insert("key1", "This is a test insert 1", $db_file1);
+echo dba_fetch("key1", $db_file1), "\n";
+
+
+echo "Test 2\n";
+$db_file2 = dba_popen($db_filename, 'n', 'flatfile');
+if ($db_file1 === $db_file2) {
+ echo "resources are the same\n";
+} else {
+ echo "resources are different\n";
+}
+
+
+echo "Test 3 - fetch both rows from second resource\n";
+dba_insert("key2", "This is a test insert 2", $db_file2);
+echo dba_fetch("key1", $db_file2), "\n";
+echo dba_fetch("key2", $db_file2), "\n";
+
+
+echo "Test 4 - fetch both rows from first resource\n";
+echo dba_fetch("key1", $db_file1), "\n";
+echo dba_fetch("key2", $db_file1), "\n";
+
+echo "Test 5 - close 2nd resource\n";
+dba_close($db_file2);
+var_dump($db_file1);
+var_dump($db_file2);
+
+echo "Test 6 - query after closing 2nd resource\n";
+echo dba_fetch("key1", $db_file1), "\n";
+echo dba_fetch("key2", $db_file1), "\n";
+
+?>
+===DONE===
+--CLEAN--
+<?php
+ require(dirname(__FILE__) .'/clean.inc');
+?>
+--XFAIL--
+Test 6 crashes with dba pointer of NULL, bug http://bugs.php.net/bug.php?id=51278
+--EXPECTF--
+database handler: db4
+Test 1
+This is a test insert 1
+Test 2
+resources are different
+Test 3 - fetch both rows from second resource
+This is a test insert 1
+This is a test insert 2
+Test 4 - fetch both rows from first resource
+This is a test insert 1
+This is a test insert 2
+Test 5 - close 2nd resource
+resource(%d) of type (dba persistent)
+resource(%d) of type (Unknown)
+Test 6 - query after closing 2nd resource
+This is a test insert 1
+This is a test insert 2
+===DONE===