Annotation of embedaddon/php/ext/interbase/tests/004.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: InterBase: BLOB test
! 3: --SKIPIF--
! 4: <?php include("skipif.inc"); ?>
! 5: --FILE--
! 6: <?php /* $Id: 004.phpt 158958 2004-05-19 08:56:50Z helly $ */
! 7:
! 8: require("interbase.inc");
! 9:
! 10: $link = ibase_connect($test_base);
! 11:
! 12: ibase_query(
! 13: "CREATE TABLE test4 (
! 14: v_integer integer,
! 15: v_blob blob)");
! 16: ibase_commit();
! 17:
! 18: /* create 100k blob file */
! 19: $blob_str = rand_binstr(100*1024);
! 20:
! 21: $name = tempnam(dirname(__FILE__),"blob.tmp");
! 22: $ftmp = fopen($name,"w");
! 23: fwrite($ftmp,$blob_str);
! 24: fclose($ftmp);
! 25:
! 26: echo "import blob 1\n";
! 27: $ftmp = fopen($name,"r");
! 28: $bl_s = ibase_blob_import($ftmp);
! 29: ibase_query("INSERT INTO test4 (v_integer, v_blob) VALUES (1, ?)", $bl_s);
! 30:
! 31: $bl_s = ibase_blob_import($link,$ftmp);
! 32: ibase_query($link, "INSERT INTO test4 (v_integer, v_blob) VALUES (1, ?)", $bl_s);
! 33: fclose($ftmp);
! 34:
! 35: echo "test blob 1\n";
! 36: $q = ibase_query("SELECT v_blob FROM test4 WHERE v_integer = 1");
! 37:
! 38: $row = ibase_fetch_object($q);
! 39: $bl_h = ibase_blob_open($row->V_BLOB);
! 40:
! 41: $blob = '';
! 42: while($piece = ibase_blob_get($bl_h, 1 + rand() % 1024))
! 43: $blob .= $piece;
! 44: if($blob != $blob_str)
! 45: echo " BLOB 1 fail (1)\n";
! 46: ibase_blob_close($bl_h);
! 47:
! 48: $bl_h = ibase_blob_open($link,$row->V_BLOB);
! 49:
! 50: $blob = '';
! 51: while($piece = ibase_blob_get($bl_h, 100 * 1024))
! 52: $blob .= $piece;
! 53: if($blob != $blob_str)
! 54: echo " BLOB 1 fail (2)\n";
! 55: ibase_blob_close($bl_h);
! 56: ibase_free_result($q);
! 57: unset($blob);
! 58:
! 59: echo "create blob 2\n";
! 60:
! 61: ibase_query("INSERT INTO test4 (v_integer, v_blob) VALUES (2, ?)", $blob_str);
! 62:
! 63: echo "test blob 2\n";
! 64:
! 65: $q = ibase_query("SELECT v_blob FROM test4 WHERE v_integer = 2");
! 66: $row = ibase_fetch_object($q,IBASE_TEXT);
! 67:
! 68: if($row->V_BLOB != $blob_str)
! 69: echo " BLOB 2 fail\n";
! 70: ibase_free_result($q);
! 71: unset($blob);
! 72:
! 73:
! 74: echo "create blob 3\n";
! 75:
! 76: $bl_h = ibase_blob_create($link);
! 77:
! 78: ibase_blob_add($bl_h, "+----------------------------------------------------------------------+\n");
! 79: ibase_blob_add($bl_h, "| PHP HTML Embedded Scripting Language Version 3.0 |\n");
! 80: ibase_blob_add($bl_h, "+----------------------------------------------------------------------+\n");
! 81: ibase_blob_add($bl_h, "| Copyright (c) 1997-2000 PHP Development Team (See Credits file) |\n");
! 82: ibase_blob_add($bl_h, "+----------------------------------------------------------------------+\n");
! 83: ibase_blob_add($bl_h, "| This program is free software; you can redistribute it and/or modify |\n");
! 84: ibase_blob_add($bl_h, "| it under the terms of one of the following licenses: |\n");
! 85: ibase_blob_add($bl_h, "| |\n");
! 86: ibase_blob_add($bl_h, "| A) the GNU General Public License as published by the Free Software |\n");
! 87: ibase_blob_add($bl_h, "| Foundation; either version 2 of the License, or (at your option) |\n");
! 88: ibase_blob_add($bl_h, "| any later version. |\n");
! 89: ibase_blob_add($bl_h, "| |\n");
! 90: ibase_blob_add($bl_h, "| B) the PHP License as published by the PHP Development Team and |\n");
! 91: ibase_blob_add($bl_h, "| included in the distribution in the file: LICENSE |\n");
! 92: ibase_blob_add($bl_h, "| |\n");
! 93: ibase_blob_add($bl_h, "| This program is distributed in the hope that it will be useful, |\n");
! 94: ibase_blob_add($bl_h, "| but WITHOUT ANY WARRANTY; without even the implied warranty of |\n");
! 95: ibase_blob_add($bl_h, "| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |\n");
! 96: ibase_blob_add($bl_h, "| GNU General Public License for more details. |\n");
! 97: ibase_blob_add($bl_h, "| |\n");
! 98: ibase_blob_add($bl_h, "| You should have received a copy of both licenses referred to here. |\n");
! 99: ibase_blob_add($bl_h, "| If you did not, or have any questions about PHP licensing, please |\n");
! 100: ibase_blob_add($bl_h, "| contact core@php.net. |\n");
! 101: ibase_blob_add($bl_h, "+----------------------------------------------------------------------+\n");
! 102: $bl_s = ibase_blob_close($bl_h);
! 103: ibase_query("INSERT INTO test4 (v_integer, v_blob) VALUES (3, ?)", $bl_s);
! 104: ibase_commit();
! 105: echo "echo blob 3\n";
! 106:
! 107: $q = ibase_query("SELECT v_blob FROM test4 WHERE v_integer = 3");
! 108: $row = ibase_fetch_object($q);
! 109: ibase_commit();
! 110: ibase_close();
! 111:
! 112: ibase_connect($test_base);
! 113: ibase_blob_echo($link, $row->V_BLOB);
! 114: ibase_free_result($q);
! 115:
! 116: echo "fetch blob 3\n";
! 117: $q = ibase_query("SELECT v_blob FROM test4 WHERE v_integer = 3");
! 118: $row = ibase_fetch_object($q,IBASE_TEXT);
! 119: echo $row->V_BLOB;
! 120: ibase_free_result($q);
! 121:
! 122: ibase_close();
! 123: unlink($name);
! 124: echo "end of test\n";
! 125: ?>
! 126: --EXPECT--
! 127: import blob 1
! 128: test blob 1
! 129: create blob 2
! 130: test blob 2
! 131: create blob 3
! 132: echo blob 3
! 133: +----------------------------------------------------------------------+
! 134: | PHP HTML Embedded Scripting Language Version 3.0 |
! 135: +----------------------------------------------------------------------+
! 136: | Copyright (c) 1997-2000 PHP Development Team (See Credits file) |
! 137: +----------------------------------------------------------------------+
! 138: | This program is free software; you can redistribute it and/or modify |
! 139: | it under the terms of one of the following licenses: |
! 140: | |
! 141: | A) the GNU General Public License as published by the Free Software |
! 142: | Foundation; either version 2 of the License, or (at your option) |
! 143: | any later version. |
! 144: | |
! 145: | B) the PHP License as published by the PHP Development Team and |
! 146: | included in the distribution in the file: LICENSE |
! 147: | |
! 148: | This program is distributed in the hope that it will be useful, |
! 149: | but WITHOUT ANY WARRANTY; without even the implied warranty of |
! 150: | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
! 151: | GNU General Public License for more details. |
! 152: | |
! 153: | You should have received a copy of both licenses referred to here. |
! 154: | If you did not, or have any questions about PHP licensing, please |
! 155: | contact core@php.net. |
! 156: +----------------------------------------------------------------------+
! 157: fetch blob 3
! 158: +----------------------------------------------------------------------+
! 159: | PHP HTML Embedded Scripting Language Version 3.0 |
! 160: +----------------------------------------------------------------------+
! 161: | Copyright (c) 1997-2000 PHP Development Team (See Credits file) |
! 162: +----------------------------------------------------------------------+
! 163: | This program is free software; you can redistribute it and/or modify |
! 164: | it under the terms of one of the following licenses: |
! 165: | |
! 166: | A) the GNU General Public License as published by the Free Software |
! 167: | Foundation; either version 2 of the License, or (at your option) |
! 168: | any later version. |
! 169: | |
! 170: | B) the PHP License as published by the PHP Development Team and |
! 171: | included in the distribution in the file: LICENSE |
! 172: | |
! 173: | This program is distributed in the hope that it will be useful, |
! 174: | but WITHOUT ANY WARRANTY; without even the implied warranty of |
! 175: | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
! 176: | GNU General Public License for more details. |
! 177: | |
! 178: | You should have received a copy of both licenses referred to here. |
! 179: | If you did not, or have any questions about PHP licensing, please |
! 180: | contact core@php.net. |
! 181: +----------------------------------------------------------------------+
! 182: end of test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>