Annotation of embedaddon/php/ext/pdo_oci/tests/pdo_oci_attr_case.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: PDO_OCI: Attribute: Column Case
                      3: --SKIPIF--
                      4: <?php
                      5: if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded');
                      6: require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc');
                      7: PDOTest::skip();
                      8: ?>
                      9: --FILE--
                     10: <?php
                     11: 
                     12: require(dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc');
                     13: 
                     14: function do_query1($dbh)
                     15: {
                     16:        var_dump($dbh->getAttribute(PDO::ATTR_CASE));
                     17:        $s = $dbh->prepare("select dummy from dual");
                     18:        $s->execute();
                     19:        while ($r = $s->fetch(PDO::FETCH_ASSOC)) {
                     20:                var_dump($r);
                     21:        }
                     22: }
                     23: 
                     24: function do_query2($dbh, $mode)
                     25: {
                     26:        echo "Mode desired is $mode\n";
                     27:        $s = $dbh->prepare("select dummy from dual", array(PDO::ATTR_CASE, $mode));
                     28:        $s->execute();
                     29:        while ($r = $s->fetch(PDO::FETCH_ASSOC)) {
                     30:                var_dump($r);
                     31:        }
                     32: }
                     33: 
                     34: $dbh = PDOTest::factory();
                     35: $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                     36: 
                     37: echo "Test 1 - Force column names to lower case\n";
                     38: $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);
                     39: do_query1($dbh);
                     40: 
                     41: echo "Test 2 - Leave column names as returned by the database driver\n";
                     42: $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL);
                     43: do_query1($dbh);
                     44: 
                     45: echo "Test 3 - Force column names to upper case\n";
                     46: $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_UPPER);
                     47: do_query1($dbh);
                     48: 
                     49: echo "Test 4 - Setting on statement has no effect.  Attempt lower case but get upper\n";
                     50: $dbh->setAttribute(PDO::ATTR_CASE, PDO::CASE_NATURAL); // reset
                     51: do_query2($dbh, PDO::CASE_LOWER);
                     52: 
                     53: echo "Done\n";
                     54: 
                     55: ?>
                     56: --EXPECT--
                     57: Test 1 - Force column names to lower case
                     58: int(2)
                     59: array(1) {
                     60:   ["dummy"]=>
                     61:   string(1) "X"
                     62: }
                     63: Test 2 - Leave column names as returned by the database driver
                     64: int(0)
                     65: array(1) {
                     66:   ["DUMMY"]=>
                     67:   string(1) "X"
                     68: }
                     69: Test 3 - Force column names to upper case
                     70: int(1)
                     71: array(1) {
                     72:   ["DUMMY"]=>
                     73:   string(1) "X"
                     74: }
                     75: Test 4 - Setting on statement has no effect.  Attempt lower case but get upper
                     76: Mode desired is 2
                     77: array(1) {
                     78:   ["DUMMY"]=>
                     79:   string(1) "X"
                     80: }
                     81: Done

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>