Annotation of embedaddon/php/ext/mysqli/tests/mysqli_options_int_and_float_native.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: mysqli_options() - MYSQLI_OPT_INT_AND_FLOAT_NATIVE
                      3: --SKIPIF--
                      4: <?php
                      5: require_once('skipif.inc');
                      6: require_once('skipifemb.inc');
                      7: require_once('skipifconnectfailure.inc');
                      8: 
                      9: require_once('connect.inc');
                     10: if (!$IS_MYSQLND)      
                     11:        die("skip mysqlnd only test");
                     12: ?>
                     13: --FILE--
                     14: <?php
                     15:        require_once("connect.inc");
                     16: 
                     17: 
                     18:        $types = array(
                     19:                'BIT'                   => array('BIT(8)', 0),
                     20:                'TINYINT'               => array('TINYINT', 120),
                     21:                'BOOL'                  => array('BOOL', 0),
                     22:                'BOOLEAN'               => array('BOOLEAN', 1),
                     23:                'SMALLINT'              => array('SMALLINT', 32000),
                     24:                'MEDIUMINT'             => array('MEDIUMINT', 999),
                     25:                'INT'                   => array('INT', 999),
                     26:                'BIGINT'                => array('BIGINT', 999),
                     27:                'FLOAT'                 => array('FLOAT', 1.3),
                     28:                'DOUBLE'                => array('DOUBLE', -1.3),
                     29:        );
                     30: 
                     31:        foreach ($types as $name => $data) {
                     32:                $link = mysqli_init();
                     33:                if (!mysqli_options($link, MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1)) {
                     34:                        printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     35:                        continue;
                     36:                }
                     37: 
                     38:                if (!my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket)) {
                     39:                        printf("[002] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
                     40:                        continue;
                     41:                }
                     42: 
                     43: 
                     44:                if (!mysqli_query($link, "DROP TABLE IF EXISTS test")) {
                     45:                        printf("[003] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     46:                        continue;
                     47:                }
                     48:                
                     49:                if (!mysqli_query($link, sprintf("CREATE TABLE test (id %s)", $data[0]))) {
                     50:                        printf("[004] TODO [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     51:                        continue;
                     52:                }
                     53:                
                     54:                if (!mysqli_query($link, sprintf("INSERT INTO test(id) VALUES (%f)", $data[1]))) {
                     55:                        printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     56:                        continue;
                     57:                }
                     58: 
                     59:                if (!$res = mysqli_query($link, "SELECT id FROM test")) {
                     60:                        printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     61:                        continue;
                     62:                }
                     63: 
                     64:                $row = mysqli_fetch_assoc($res);
                     65:                mysqli_free_result($res);
                     66: 
                     67:                if ($row['id'] !== $data[1]) {
                     68:                        printf("[007] Expecting %s - %s/%s got %s/%s\n", 
                     69:                                $name,
                     70:                                $data[1], gettype($data[1]), $row['id'], gettype($row['id']));
                     71:                }
                     72:                mysqli_close($link);
                     73: 
                     74:                $link = mysqli_init();
                     75:                if (!mysqli_options($link, MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 0)) {
                     76:                        printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     77:                        continue;
                     78:                }
                     79: 
                     80:                if (!my_mysqli_real_connect($link, $host, $user, $passwd, $db, $port, $socket)) {
                     81:                        printf("[009] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
                     82:                        continue;
                     83:                }
                     84:                
                     85:                if (!$res = mysqli_query($link, "SELECT id FROM test")) {
                     86:                        printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
                     87:                        continue;
                     88:                }
                     89: 
                     90:                $row = mysqli_fetch_assoc($res);
                     91:                mysqli_free_result($res);
                     92: 
                     93:                if (!is_string($row['id']) || ($row['id'] != $data[1])) {
                     94:                        printf("[011] Expecting %s - %s/string got %s/%s\n", 
                     95:                                $name,
                     96:                                $data[1], $row['id'], gettype($row['id']));
                     97:                }               
                     98:                mysqli_close($link);            
                     99: 
                    100:        }
                    101:        
                    102:        print "done!";
                    103: ?>
                    104: --CLEAN--
                    105: <?php
                    106:        require_once("clean_table.inc");
                    107: ?>
                    108: --EXPECTF--
                    109: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>