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