]> granicus.if.org Git - php/commitdiff
Refactor test
authorChristopher Jones <sixd@php.net>
Thu, 19 Nov 2009 16:49:58 +0000 (16:49 +0000)
committerChristopher Jones <sixd@php.net>
Thu, 19 Nov 2009 16:49:58 +0000 (16:49 +0000)
ext/oci8/tests/fetch_object.phpt

index 57b7fc03d81fcb77c53cdf076780d4678cea0b26..674a88ff28a975d4549ead929ef2195370c2c45c 100644 (file)
@@ -5,78 +5,133 @@ oci_fetch_object()
 --FILE--
 <?php
 
-require dirname(__FILE__)."/connect.inc";
-require dirname(__FILE__).'/create_table.inc';
+require(dirname(__FILE__).'/connect.inc');
 
-$insert_sql = "INSERT INTO ".$schema."".$table_name." (id, value) VALUES (1,1)";
+// Initialization
 
-if (!($s = oci_parse($c, $insert_sql))) {
-       die("oci_parse(insert) failed!\n");
-}
+$stmtarray = array(
+       "drop table fetch_object_tab",
+       "create table fetch_object_tab (\"caseSensitive\" number, secondcol varchar2(20), anothercol char(15))",
+       "insert into fetch_object_tab values (123, '1st row col2 string', '1 more text')",
+       "insert into fetch_object_tab values (456, '2nd row col2 string', '2 more text')",
+       "insert into fetch_object_tab values (789, '3rd row col2 string', '3 more text')",
+);
 
-for ($i = 0; $i<3; $i++) {
-       if (!oci_execute($s)) {
-               die("oci_execute(insert) failed!\n");
+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;
+               }
        }
 }
 
-if (!oci_commit($c)) {
-       die("oci_commit() failed!\n");
-}
+// Run Test
 
-$select_sql = "SELECT * FROM ".$schema."".$table_name."";
+echo "Test 1\n";
 
-if (!($s = oci_parse($c, $select_sql))) {
+if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) {
        die("oci_parse(select) failed!\n");
 }
 
 if (!oci_execute($s)) {
        die("oci_execute(select) failed!\n");
 }
+
 while ($row = oci_fetch_object($s)) {
        var_dump($row);
 }
 
-require dirname(__FILE__).'/drop_table.inc';
+echo "Test 2\n";
+
+if (!($s = oci_parse($c, 'select * from fetch_object_tab'))) {
+       die("oci_parse(select) failed!\n");
+}
+
+if (!oci_execute($s)) {
+       die("oci_execute(select) failed!\n");
+}
 
-echo "Done\n";
+while ($row = oci_fetch_object($s)) {
+    echo $row->caseSensitive . "\n";
+    echo $row->SECONDCOL . "\n";
+    echo $row->ANOTHERCOL . "\n";
+}
+
+echo "Test 3\n";
+
+if (!($s = oci_parse($c, 'select * from fetch_object_tab where rownum < 2 order by "caseSensitive"'))) {
+       die("oci_parse(select) failed!\n");
+}
+
+if (!oci_execute($s)) {
+       die("oci_execute(select) failed!\n");
+}
+
+$row = oci_fetch_object($s);
+echo $row->caseSensitive . "\n";
+echo $row->CASESENSITIVE . "\n";
+
+// Clean up
+
+$stmtarray = array(
+       "drop table fetch_object_tab"
+);
+
+foreach ($stmtarray as $stmt) {
+       $s = oci_parse($c, $stmt);
+       oci_execute($s);
+}
 
 ?>
+===DONE===
+<?php exit(0); ?>
 --EXPECTF--
-object(stdClass)#%d (5) {
-  ["ID"]=>
-  string(1) "1"
-  ["VALUE"]=>
-  string(1) "1"
-  ["BLOB"]=>
-  NULL
-  ["CLOB"]=>
-  NULL
-  ["STRING"]=>
-  NULL
+Test 1
+object(stdClass)#1 (3) {
+  [%u|b%"caseSensitive"]=>
+  %unicode|string%(3) "123"
+  [%u|b%"SECONDCOL"]=>
+  %unicode|string%(19) "1st row col2 string"
+  [%u|b%"ANOTHERCOL"]=>
+  %unicode|string%(15) "1 more text    "
 }
-object(stdClass)#%d (5) {
-  ["ID"]=>
-  string(1) "1"
-  ["VALUE"]=>
-  string(1) "1"
-  ["BLOB"]=>
-  NULL
-  ["CLOB"]=>
-  NULL
-  ["STRING"]=>
-  NULL
+object(stdClass)#2 (3) {
+  [%u|b%"caseSensitive"]=>
+  %unicode|string%(3) "456"
+  [%u|b%"SECONDCOL"]=>
+  %unicode|string%(19) "2nd row col2 string"
+  [%u|b%"ANOTHERCOL"]=>
+  %unicode|string%(15) "2 more text    "
 }
-object(stdClass)#%d (5) {
-  ["ID"]=>
-  string(1) "1"
-  ["VALUE"]=>
-  string(1) "1"
-  ["BLOB"]=>
-  NULL
-  ["CLOB"]=>
-  NULL
-  ["STRING"]=>
-  NULL
+object(stdClass)#1 (3) {
+  [%u|b%"caseSensitive"]=>
+  %unicode|string%(3) "789"
+  [%u|b%"SECONDCOL"]=>
+  %unicode|string%(19) "3rd row col2 string"
+  [%u|b%"ANOTHERCOL"]=>
+  %unicode|string%(15) "3 more text    "
 }
-Done
+Test 2
+123
+1st row col2 string
+1 more text    
+456
+2nd row col2 string
+2 more text    
+789
+3rd row col2 string
+3 more text    
+Test 3
+123
+
+Notice: Undefined property: stdClass::$CASESENSITIVE in %sfetch_object.php on line %d
+
+===DONE===