Annotation of embedaddon/php/ext/sqlite3/tests/sqlite3_openblob_wrongparams.phpt, revision 1.1.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>