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>