Annotation of embedaddon/php/ext/sqlite3/tests/sqlite3_openblob_wrongparams.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SQLite3::blobOpen test, testing stream with wrong parameter count
! 3: --CREDITS--
! 4: Michelangelo van Dam
! 5: # Belgian PHP Testfest 2009
! 6: --SKIPIF--
! 7: <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
! 8: --FILE--
! 9: <?php
! 10: class SQLite3_Test_Stream
! 11: {
! 12: private $position;
! 13: public static $string_length = 10;
! 14: public static $string = "abcdefg\0hi";
! 15:
! 16: public function stream_open($path, $mode, $options, &$opened_path)
! 17: {
! 18: $this->position = 0;
! 19: return true;
! 20: }
! 21:
! 22: public function stream_read($count)
! 23: {
! 24: $ret = substr(self::$string, $this->position, $count);
! 25: $this->position += strlen($ret);
! 26: return $ret;
! 27: }
! 28:
! 29: public function stream_write($data)
! 30: {
! 31: return 0;
! 32: }
! 33:
! 34: public function stream_stat()
! 35: {
! 36: return array('size' => self::$string_length);
! 37: }
! 38:
! 39: public function stream_tell()
! 40: {
! 41: return $this->position;
! 42: }
! 43:
! 44: public function stream_eof()
! 45: {
! 46: return ($this->position >= self::$string_length);
! 47: }
! 48: }
! 49:
! 50: $db = new SQLite3(':memory:');
! 51: stream_wrapper_register('sqliteBlobTest', "SQLite3_Test_Stream") or die("Unable to register sqliteBlobTest stream");
! 52: echo "Creating table: " . var_export($db->exec('CREATE TABLE test (id STRING, data BLOB)'),true) . "\n";
! 53:
! 54: echo "PREPARING insert\n";
! 55: $insert_stmt = $db->prepare("INSERT INTO test (id, data) VALUES (?, ?)");
! 56:
! 57: echo "BINDING Parameters:\n";
! 58: var_dump($insert_stmt->bindValue(1, 'a', SQLITE3_TEXT));
! 59: var_dump($insert_stmt->bindValue(2, 'TEST TEST', SQLITE3_BLOB));
! 60: $insert_stmt->execute();
! 61: echo "Closing statement: " . var_export($insert_stmt->close(), true) . "\n";
! 62:
! 63: echo "Open BLOB with wrong parameter count\n";
! 64: $stream = $db->openBlob();
! 65: var_dump($stream);
! 66: echo "Done\n";
! 67: ?>
! 68: --EXPECTF--
! 69: Creating table: true
! 70: PREPARING insert
! 71: BINDING Parameters:
! 72: bool(true)
! 73: bool(true)
! 74: Closing statement: true
! 75: Open BLOB with wrong parameter count
! 76:
! 77: Warning: SQLite3::openBlob() expects at least 3 parameters, 0 given in %s on line %d
! 78: NULL
! 79: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>