Annotation of embedaddon/php/ext/pdo_oci/tests/pdo_oci_stream_1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: PDO_OCI: stream_get_contents length & offset test
! 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: if (!strpos(strtolower(getenv('PDOTEST_DSN')), 'charset=we8mswin1252')) die('skip expected output valid for WE8MSWIN1252 character set');
! 8: PDOTest::skip();
! 9: ?>
! 10: --FILE--
! 11: <?php
! 12:
! 13: require(dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc');
! 14:
! 15: $dbh = PDOTest::factory();
! 16:
! 17: $dbh->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
! 18:
! 19: // Initialization
! 20: @$dbh->exec("drop table pdo_oci_stream_1_tab");
! 21:
! 22: $stmtarray = array(
! 23: "create table pdo_oci_stream_1_tab (id number, data clob)",
! 24: );
! 25:
! 26: foreach ($stmtarray as $stmt) {
! 27: $dbh->exec($stmt);
! 28: }
! 29:
! 30: $dbh->exec("
! 31: declare
! 32: lob1 clob := 'abc' || lpad('j',30000,'j') || 'xyz';
! 33: begin
! 34: insert into pdo_oci_stream_1_tab (id,data) values (1, 'abcdefghijklmnopqrstuvwxyz');
! 35: insert into pdo_oci_stream_1_tab (id,data) values (2, lob1);
! 36: end;");
! 37:
! 38: echo "Test 1\n";
! 39:
! 40: $s = $dbh->prepare("select data from pdo_oci_stream_1_tab where id = 1");
! 41: $s->execute();
! 42: $r = $s->fetch();
! 43:
! 44: // stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] )
! 45: echo 'Read '.stream_get_contents($r['data'], 1, 1)."$\n"; // b
! 46: echo 'Read '.stream_get_contents($r['data'], 2, 1)."$\n"; // cd
! 47: echo 'Read '.stream_get_contents($r['data'], 2, 0)."$\n"; // ab
! 48: echo 'Read '.stream_get_contents($r['data'], 26, 0)."$\n"; // abcdefghijklmnopqrstuvwxyz
! 49: echo 'Read '.stream_get_contents($r['data'], 27, 0)."$\n"; // abcdefghijklmnopqrstuvwxyz
! 50: echo 'Read '.stream_get_contents($r['data'], 27, 1)."$\n"; // bcdefghijklmnopqrstuvwxyz
! 51: echo 'Read '.stream_get_contents($r['data'], 1, 20)."$\n"; // u
! 52: echo 'Read '.stream_get_contents($r['data'], 1, 25)."$\n"; // z
! 53: echo 'Read '.stream_get_contents($r['data'], 1, 26)."$\n"; // <blank>
! 54: echo 'Read '.stream_get_contents($r['data'], 1, 0)."$\n"; // a
! 55:
! 56: echo "\nTest 2\n";
! 57:
! 58: $s = $dbh->prepare("select data from pdo_oci_stream_1_tab where id = 2");
! 59: $s->execute();
! 60: $r = $s->fetch();
! 61:
! 62: echo 'Read '.stream_get_contents($r['data'], 5, 0)."\n"; // abcjj
! 63: echo 'Read '.stream_get_contents($r['data'], 5, 2)."\n"; // cjjjj
! 64: echo 'Read '.stream_get_contents($r['data'], 6, 1)."\n"; // bcjjjj
! 65: echo 'Read '.strlen(stream_get_contents($r['data'], -1,0))."\n"; // 30006
! 66: echo 'Read '.strlen(stream_get_contents($r['data'], 0,0))."\n"; // 0
! 67: echo 'Read '.strlen(stream_get_contents($r['data'], 0,1))."\n"; // 0
! 68: echo 'Read '.strlen(stream_get_contents($r['data'], 10,100))."\n"; // 10
! 69: echo 'Read '.stream_get_contents($r['data'], 6, 30000)."\n"; // jjjxyz
! 70: echo 'Read '.stream_get_contents($r['data'], 7, 30000)."\n"; // jjjxyz
! 71: echo 'Read '.strlen(stream_get_contents($r['data']))."\n"; // 0
! 72: echo 'Read '.strlen(stream_get_contents($r['data'], 0))."\n"; // 0
! 73: echo 'Read '.strlen(stream_get_contents($r['data'], -1))."\n"; // 0
! 74: echo 'Read '.stream_get_contents($r['data'], -1, 30000)."\n"; // jjjxyz
! 75:
! 76: // Clean up
! 77:
! 78: $stmtarray = array(
! 79: "drop table pdo_oci_stream_1_tab"
! 80: );
! 81:
! 82: foreach ($stmtarray as $stmt) {
! 83: $dbh->exec($stmt);
! 84: }
! 85:
! 86: ?>
! 87: --EXPECTF--
! 88: Test 1
! 89: Read b$
! 90: Read cd$
! 91: Read ab$
! 92: Read abcdefghijklmnopqrstuvwxyz$
! 93: Read abcdefghijklmnopqrstuvwxyz$
! 94: Read bcdefghijklmnopqrstuvwxyz$
! 95: Read u$
! 96: Read z$
! 97: Read $
! 98: Read a$
! 99:
! 100: Test 2
! 101: Read abcjj
! 102: Read cjjjj
! 103: Read bcjjjj
! 104: Read 30006
! 105: Read 0
! 106: Read 0
! 107: Read 10
! 108: Read jjjxyz
! 109: Read jjjxyz
! 110: Read 0
! 111: Read 0
! 112: Read 0
! 113: Read jjjxyz
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>