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>