Annotation of embedaddon/php/ext/mysqli/tests/mysqli_class_mysqli_properties_no_conn.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Interface of the class mysqli
        !             3: --SKIPIF--
        !             4: <?php
        !             5: require_once('skipif.inc');
        !             6: require_once('skipifemb.inc');
        !             7: require_once('skipifconnectfailure.inc');
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11:        require('table.inc');
        !            12: 
        !            13:        function dump_properties($mysqli) {
        !            14: 
        !            15:                printf("\nClass variables:\n");
        !            16:                $variables = array_keys(get_class_vars(get_class($mysqli)));
        !            17:                sort($variables);
        !            18:                foreach ($variables as $k => $var) {
        !            19:                        printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
        !            20:                }
        !            21: 
        !            22:                printf("\nObject variables:\n");
        !            23:                $variables = array_keys(get_object_vars($mysqli));
        !            24:                foreach ($variables as $k => $var) {
        !            25:                        printf("%s = '%s'\n", $var, var_export(@$mysqli->$var, true));
        !            26:                }
        !            27: 
        !            28:                printf("\nMagic, magic properties:\n");
        !            29: 
        !            30:                assert(@mysqli_affected_rows($mysqli) === @$mysqli->affected_rows);
        !            31:                printf("mysqli->affected_rows = '%s'/%s ('%s'/%s)\n",
        !            32:                        @$mysqli->affected_rows, gettype(@$mysqli->affected_rows),
        !            33:                        @mysqli_affected_rows($mysqli), gettype(@mysqli_affected_rows($mysqli)));
        !            34: 
        !            35:                assert(@mysqli_get_client_info() === @$mysqli->client_info);
        !            36:                printf("mysqli->client_info = '%s'/%s ('%s'/%s)\n",
        !            37:                        @$mysqli->client_info, gettype(@$mysqli->client_info),
        !            38:                        @mysqli_get_client_info(), gettype(@mysqli_get_client_info()));
        !            39: 
        !            40:                assert(@mysqli_get_client_version() === @$mysqli->client_version);
        !            41:                printf("mysqli->client_version =  '%s'/%s ('%s'/%s)\n",
        !            42:                        @$mysqli->client_version, gettype(@$mysqli->client_version),
        !            43:                        @mysqli_get_client_version(), gettype(@mysqli_get_client_version()));
        !            44: 
        !            45:                assert(@mysqli_errno($mysqli) === @$mysqli->errno);
        !            46:                printf("mysqli->errno = '%s'/%s ('%s'/%s)\n",
        !            47:                        @$mysqli->errno, gettype(@$mysqli->errno),
        !            48: 
        !            49:                        @mysqli_errno($mysqli), gettype(@mysqli_errno($mysqli)));
        !            50: 
        !            51:                assert(@mysqli_error($mysqli) === @$mysqli->error);
        !            52:                printf("mysqli->error = '%s'/%s ('%s'/%s)\n",
        !            53:                        @$mysqli->error, gettype(@$mysqli->error),
        !            54:                        @mysqli_error($mysqli), gettype(@mysqli_error($mysqli)));
        !            55: 
        !            56:                assert(@mysqli_field_count($mysqli) === @$mysqli->field_count);
        !            57:                printf("mysqli->field_count = '%s'/%s ('%s'/%s)\n",
        !            58:                        @$mysqli->field_count, gettype(@$mysqli->field_count),
        !            59:                        @mysqli_field_count($mysqli), gettype(@mysqli_field_count($mysqli)));
        !            60: 
        !            61:                assert(@mysqli_insert_id($mysqli) === @$mysqli->insert_id);
        !            62:                printf("mysqli->insert_id = '%s'/%s ('%s'/%s)\n",
        !            63:                        @$mysqli->insert_id, gettype(@$mysqli->insert_id),
        !            64:                        @mysqli_insert_id($mysqli), gettype(@mysqli_insert_id($mysqli)));
        !            65: 
        !            66:                assert(@mysqli_sqlstate($mysqli) === @$mysqli->sqlstate);
        !            67:                printf("mysqli->sqlstate = '%s'/%s ('%s'/%s)\n",
        !            68:                        @$mysqli->sqlstate, gettype(@$mysqli->sqlstate),
        !            69:                        @mysqli_sqlstate($mysqli), gettype(@mysqli_sqlstate($mysqli)));
        !            70: 
        !            71:                assert(@mysqli_stat($mysqli) === @$mysqli->sstat);
        !            72:                printf("mysqli->stat = '%s'/%s ('%s'/%s)\n",
        !            73:                        @$mysqli->stat, gettype(@$mysqli->stat),
        !            74:                        @mysqli_stat($mysqli), gettype(@mysqli_stat($mysqli)));
        !            75: 
        !            76:                assert(@mysqli_get_host_info($mysqli) === @$mysqli->host_info);
        !            77:                printf("mysqli->host_info = '%s'/%s ('%s'/%s)\n",
        !            78:                        @$mysqli->host_info, gettype(@$mysqli->host_info),
        !            79:                        @mysqli_get_host_info($mysqli), gettype(@mysqli_get_host_info($mysqli)));
        !            80: 
        !            81:                /* note that the data types are different */
        !            82:                assert(@mysqli_info($mysqli) == @$mysqli->info);
        !            83:                printf("mysqli->info = '%s'/%s ('%s'/%s)\n",
        !            84:                        @$mysqli->info, gettype(@$mysqli->info),
        !            85:                        @mysqli_info($mysqli), gettype(@mysqli_info($mysqli)));
        !            86: 
        !            87:                assert(@mysqli_thread_id($mysqli) > @$mysqli->thread_id);
        !            88:                assert(gettype(@$mysqli->thread_id) == gettype(@mysqli_thread_id($mysqli)));
        !            89:                printf("mysqli->thread_id = '%s'/%s ('%s'/%s)\n",
        !            90:                        @$mysqli->thread_id, gettype(@$mysqli->thread_id),
        !            91:                        @mysqli_thread_id($mysqli), gettype(@mysqli_thread_id($mysqli)));
        !            92: 
        !            93:                assert(@mysqli_get_proto_info($mysqli) === @$mysqli->protocol_version);
        !            94:                printf("mysqli->protocol_version = '%s'/%s ('%s'/%s)\n",
        !            95:                        @$mysqli->protocol_version, gettype(@$mysqli->protocol_version),
        !            96:                        @mysqli_get_proto_info($mysqli), gettype(@mysqli_get_proto_info($mysqli)));
        !            97: 
        !            98:                assert(@mysqli_get_server_info($mysqli) === @$mysqli->server_info);
        !            99:                printf("mysqli->server_info = '%s'/%s ('%s'/%s)\n",
        !           100:                        @$mysqli->server_info, gettype(@$mysqli->server_info),
        !           101:                        @mysqli_get_server_info($mysqli), gettype(@mysqli_get_server_info($mysqli)));
        !           102: 
        !           103:                assert(@mysqli_get_server_version($mysqli) === @$mysqli->server_version);
        !           104:                printf("mysqli->server_version = '%s'/%s ('%s'/%s)\n",
        !           105:                        @$mysqli->server_version, gettype(@$mysqli->server_version),
        !           106:                        @mysqli_get_server_version($mysqli), gettype(@mysqli_get_server_version($mysqli)));
        !           107: 
        !           108:                assert(@mysqli_warning_count($mysqli) === @$mysqli->warning_count);
        !           109:                printf("mysqli->warning_count = '%s'/%s ('%s'/%s)\n",
        !           110:                        @$mysqli->warning_count, gettype(@$mysqli->warning_count),
        !           111:                        @mysqli_warning_count($mysqli), gettype(@mysqli_warning_count($mysqli)));
        !           112: 
        !           113:                printf("\nAccess to undefined properties:\n");
        !           114:                printf("mysqli->unknown = '%s'\n", @$mysqli->unknown);
        !           115: 
        !           116:                @$mysqli->unknown = 13;
        !           117:                printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
        !           118: 
        !           119:                $unknown = 'friday';
        !           120:                @$mysqli->unknown = $unknown;
        !           121:                printf("setting mysqli->unknown, @mysqli_unknown = '%s'\n", @$mysqli->unknown);
        !           122: 
        !           123:                printf("\nAccess hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):\n");
        !           124:                assert(@mysqli_connect_error() === @$mysqli->connect_error);
        !           125:                printf("mysqli->connect_error = '%s'/%s ('%s'/%s)\n",
        !           126:                        @$mysqli->connect_error, gettype(@$mysqli->connect_error),
        !           127:                        @mysqli_connect_error(), gettype(@mysqli_connect_error()));
        !           128: 
        !           129:                assert(@mysqli_connect_errno() === @$mysqli->connect_errno);
        !           130:                printf("mysqli->connect_errno = '%s'/%s ('%s'/%s)\n",
        !           131:                        @$mysqli->connect_errno, gettype(@$mysqli->connect_errno),
        !           132:                        @mysqli_connect_errno(), gettype(@mysqli_connect_errno()));
        !           133:        }
        !           134: 
        !           135:        printf("Without RS\n");
        !           136:        $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
        !           137:        dump_properties($mysqli);
        !           138: 
        !           139:        printf("With RS\n");
        !           140:        $mysqli = @new mysqli($host, $user, $passwd . "invalid", $db, $port, $socket);
        !           141:        $res = @$mysqli->query("SELECT * FROM test");
        !           142:        dump_properties($mysqli);
        !           143: 
        !           144:        print "done!";
        !           145: ?>
        !           146: --CLEAN--
        !           147: <?php require_once("clean_table.inc"); ?>
        !           148: --EXPECTF--
        !           149: Without RS
        !           150: 
        !           151: Class variables:
        !           152: affected_rows = 'NULL'
        !           153: client_info = 'NULL'
        !           154: client_version = '%d'
        !           155: connect_errno = '%d'
        !           156: connect_error = '%s'
        !           157: errno = 'NULL'
        !           158: error = 'NULL'
        !           159: field_count = 'NULL'
        !           160: host_info = 'NULL'
        !           161: info = 'NULL'
        !           162: insert_id = 'NULL'
        !           163: protocol_version = 'NULL'
        !           164: server_info = 'NULL'
        !           165: server_version = 'NULL'
        !           166: sqlstate = 'NULL'
        !           167: stat = 'NULL'
        !           168: thread_id = 'NULL'
        !           169: warning_count = 'NULL'
        !           170: 
        !           171: Object variables:
        !           172: affected_rows = 'NULL'
        !           173: client_info = 'NULL'
        !           174: client_version = '%d'
        !           175: connect_errno = '%d'
        !           176: connect_error = '%s'
        !           177: errno = 'NULL'
        !           178: error = 'NULL'
        !           179: field_count = 'NULL'
        !           180: host_info = 'NULL'
        !           181: info = 'NULL'
        !           182: insert_id = 'NULL'
        !           183: server_info = 'NULL'
        !           184: server_version = 'NULL'
        !           185: stat = 'NULL'
        !           186: sqlstate = 'NULL'
        !           187: protocol_version = 'NULL'
        !           188: thread_id = 'NULL'
        !           189: warning_count = 'NULL'
        !           190: 
        !           191: Magic, magic properties:
        !           192: mysqli->affected_rows = ''/NULL (''/NULL)
        !           193: 
        !           194: Warning: assert(): Assertion failed in %s on line %d
        !           195: mysqli->client_info = ''/NULL ('%s'/string)
        !           196: mysqli->client_version =  '%d'/integer ('%d'/integer)
        !           197: mysqli->errno = ''/NULL (''/NULL)
        !           198: mysqli->error = ''/NULL (''/NULL)
        !           199: mysqli->field_count = ''/NULL (''/NULL)
        !           200: mysqli->insert_id = ''/NULL (''/NULL)
        !           201: mysqli->sqlstate = ''/NULL (''/NULL)
        !           202: mysqli->stat = ''/NULL (''/NULL)
        !           203: mysqli->host_info = ''/NULL (''/NULL)
        !           204: mysqli->info = ''/NULL (''/NULL)
        !           205: 
        !           206: Warning: assert(): Assertion failed in %s on line 78
        !           207: mysqli->thread_id = ''/NULL (''/NULL)
        !           208: mysqli->protocol_version = ''/NULL (''/NULL)
        !           209: mysqli->server_info = ''/NULL (''/NULL)
        !           210: mysqli->server_version = ''/NULL (''/NULL)
        !           211: mysqli->warning_count = ''/NULL (''/NULL)
        !           212: 
        !           213: Access to undefined properties:
        !           214: mysqli->unknown = ''
        !           215: setting mysqli->unknown, @mysqli_unknown = '13'
        !           216: setting mysqli->unknown, @mysqli_unknown = 'friday'
        !           217: 
        !           218: Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
        !           219: mysqli->connect_error = '%s'/string ('%s'/string)
        !           220: mysqli->connect_errno = '%d'/integer ('%d'/integer)
        !           221: With RS
        !           222: 
        !           223: Class variables:
        !           224: affected_rows = 'NULL'
        !           225: client_info = 'NULL'
        !           226: client_version = '%d'
        !           227: connect_errno = '%d'
        !           228: connect_error = '%s'
        !           229: errno = 'NULL'
        !           230: error = 'NULL'
        !           231: field_count = 'NULL'
        !           232: host_info = 'NULL'
        !           233: info = 'NULL'
        !           234: insert_id = 'NULL'
        !           235: protocol_version = 'NULL'
        !           236: server_info = 'NULL'
        !           237: server_version = 'NULL'
        !           238: sqlstate = 'NULL'
        !           239: stat = 'NULL'
        !           240: thread_id = 'NULL'
        !           241: warning_count = 'NULL'
        !           242: 
        !           243: Object variables:
        !           244: affected_rows = 'NULL'
        !           245: client_info = 'NULL'
        !           246: client_version = '%d'
        !           247: connect_errno = '%d'
        !           248: connect_error = '%s'
        !           249: errno = 'NULL'
        !           250: error = 'NULL'
        !           251: field_count = 'NULL'
        !           252: host_info = 'NULL'
        !           253: info = 'NULL'
        !           254: insert_id = 'NULL'
        !           255: server_info = 'NULL'
        !           256: server_version = 'NULL'
        !           257: stat = 'NULL'
        !           258: sqlstate = 'NULL'
        !           259: protocol_version = 'NULL'
        !           260: thread_id = 'NULL'
        !           261: warning_count = 'NULL'
        !           262: 
        !           263: Magic, magic properties:
        !           264: mysqli->affected_rows = ''/NULL (''/NULL)
        !           265: 
        !           266: Warning: assert(): Assertion failed in %s on line %s
        !           267: mysqli->client_info = ''/NULL ('%s'/string)
        !           268: mysqli->client_version =  '%d'/integer ('%d'/integer)
        !           269: mysqli->errno = ''/NULL (''/NULL)
        !           270: mysqli->error = ''/NULL (''/NULL)
        !           271: mysqli->field_count = ''/NULL (''/NULL)
        !           272: mysqli->insert_id = ''/NULL (''/NULL)
        !           273: mysqli->sqlstate = ''/NULL (''/NULL)
        !           274: mysqli->stat = ''/NULL (''/NULL)
        !           275: mysqli->host_info = ''/NULL (''/NULL)
        !           276: mysqli->info = ''/NULL (''/NULL)
        !           277: 
        !           278: Warning: assert(): Assertion failed in %s on line %d
        !           279: mysqli->thread_id = ''/NULL (''/NULL)
        !           280: mysqli->protocol_version = ''/NULL (''/NULL)
        !           281: mysqli->server_info = ''/NULL (''/NULL)
        !           282: mysqli->server_version = ''/NULL (''/NULL)
        !           283: mysqli->warning_count = ''/NULL (''/NULL)
        !           284: 
        !           285: Access to undefined properties:
        !           286: mysqli->unknown = ''
        !           287: setting mysqli->unknown, @mysqli_unknown = '13'
        !           288: setting mysqli->unknown, @mysqli_unknown = 'friday'
        !           289: 
        !           290: Access hidden properties for MYSLQI_STATUS_INITIALIZED (TODO documentation):
        !           291: mysqli->connect_error = '%s'/string ('%s'/string)
        !           292: mysqli->connect_errno = '%d'/integer ('%d'/integer)
        !           293: done!

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