diff options
author | Christopher Jones <sixd@php.net> | 2009-12-10 19:07:08 +0000 |
---|---|---|
committer | Christopher Jones <sixd@php.net> | 2009-12-10 19:07:08 +0000 |
commit | 1aebd220f86bd4da9803d9c40af68eb57b3e5b23 (patch) | |
tree | ac113ba4450377d7adee1719ea1b879e964e888a /ext/oci8/tests | |
parent | e435285b396e4068e2e551eaee1d37c8817b7b13 (diff) | |
download | php-git-1aebd220f86bd4da9803d9c40af68eb57b3e5b23.tar.gz |
Add new 'fetch' test and make several small test fixes
Diffstat (limited to 'ext/oci8/tests')
-rw-r--r-- | ext/oci8/tests/conn_attr.inc | 1 | ||||
-rw-r--r-- | ext/oci8/tests/driver_name.phpt | 2 | ||||
-rw-r--r-- | ext/oci8/tests/fetch_all5.phpt | 127 |
3 files changed, 129 insertions, 1 deletions
diff --git a/ext/oci8/tests/conn_attr.inc b/ext/oci8/tests/conn_attr.inc index 746b6b7ea6..2c086b1892 100644 --- a/ext/oci8/tests/conn_attr.inc +++ b/ext/oci8/tests/conn_attr.inc @@ -36,6 +36,7 @@ foreach ($stmtarray as $stmt) { $m = oci_error($s); if (!in_array($m['code'], array( // ignore expected errors 942 // table or view does not exist + , 1918 // user does not exist , 2289 // sequence does not exist , 4080 // trigger does not exist , 38802 // edition does not exist diff --git a/ext/oci8/tests/driver_name.phpt b/ext/oci8/tests/driver_name.phpt index a5076a5c12..187d7e1862 100644 --- a/ext/oci8/tests/driver_name.phpt +++ b/ext/oci8/tests/driver_name.phpt @@ -14,7 +14,7 @@ if ($sv == 1) { ob_start(); phpinfo(INFO_MODULES); $phpinfo = ob_get_clean(); - $iv = preg_match('/Oracle .*Version => (11.2|12)\./', $phpinfo); + $iv = preg_match('/Oracle .*Version => (11.2|12)/', $phpinfo); if ($iv != 1) { die ("skip test expected to work only with Oracle 11g or greater version of client"); } diff --git a/ext/oci8/tests/fetch_all5.phpt b/ext/oci8/tests/fetch_all5.phpt new file mode 100644 index 0000000000..bb9061a445 --- /dev/null +++ b/ext/oci8/tests/fetch_all5.phpt @@ -0,0 +1,127 @@ +--TEST-- +Test oci_fetch_all with 0 and -1 skip & maxrows +--SKIPIF-- +<?php if (!extension_loaded('oci8')) die ("skip no oci8 extension"); ?> +--FILE-- +<?php + +require(dirname(__FILE__).'/connect.inc'); + +// Initialization + +$stmtarray = array( + "drop table fetch_all5_tab", + "create table fetch_all5_tab (mycol1 number, mycol2 varchar2(20))", + "insert into fetch_all5_tab values (1, 'abc')", + "insert into fetch_all5_tab values (2, 'def')", + "insert into fetch_all5_tab values (3, 'ghi')" +); + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + $r = @oci_execute($s); + if (!$r) { + $m = oci_error($s); + if (!in_array($m['code'], array( // ignore expected errors + 942 // table or view does not exist + , 2289 // sequence does not exist + , 4080 // trigger does not exist + , 38802 // edition does not exist + ))) { + echo $stmt . PHP_EOL . $m['message'] . PHP_EOL; + } + } +} + +// Run Test + +echo "Test 1\n"; + +$s = oci_parse($c, "select * from fetch_all5_tab order by 1"); +oci_execute($s); +$r = oci_fetch_all($s, $res, 0, -1); +var_dump($r); +var_dump($res); + +echo "Test 1\n"; + +$s = oci_parse($c, "select * from fetch_all5_tab order by 1"); +oci_execute($s); +$r = oci_fetch_all($s, $res, 0, 0); +var_dump($r); +var_dump($res); + +echo "Test 3\n"; + +$s = oci_parse($c, "select * from fetch_all5_tab order by 1"); +oci_execute($s); +$r = oci_fetch_all($s, $res, -1, 0); +var_dump($r); +var_dump($res); + +// Clean up + +$stmtarray = array( + "drop table fetch_all5_tab" +); + +foreach ($stmtarray as $stmt) { + $s = oci_parse($c, $stmt); + oci_execute($s); +} + +oci_close($c); + +?> +===DONE=== +<?php exit(0); ?> +--EXPECTF-- +Test 1 +int(3) +array(2) { + [%u|b%"MYCOL1"]=> + array(3) { + [0]=> + %unicode|string%(1) "1" + [1]=> + %unicode|string%(1) "2" + [2]=> + %unicode|string%(1) "3" + } + [%u|b%"MYCOL2"]=> + array(3) { + [0]=> + %unicode|string%(3) "abc" + [1]=> + %unicode|string%(3) "def" + [2]=> + %unicode|string%(3) "ghi" + } +} +Test 1 +int(3) +array(2) { + [%u|b%"MYCOL1"]=> + array(3) { + [0]=> + %unicode|string%(1) "1" + [1]=> + %unicode|string%(1) "2" + [2]=> + %unicode|string%(1) "3" + } + [%u|b%"MYCOL2"]=> + array(3) { + [0]=> + %unicode|string%(3) "abc" + [1]=> + %unicode|string%(3) "def" + [2]=> + %unicode|string%(3) "ghi" + } +} +Test 3 +int(0) +array(0) { +} +===DONE=== |