Annotation of embedaddon/php/ext/standard/tests/general_functions/gettype_settype_variation1.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test gettype() & settype() functions : usage variatoins
                      3: --SKIPIF--
                      4: <?php
                      5: if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
                      6: ?>
                      7: --INI--
                      8: precision=14
                      9: --FILE--
                     10: <?php
                     11: /* Prototype: string gettype ( mixed $var );
                     12:    Description: Returns the type of the PHP variable var
                     13: 
                     14:    Prototype: bool settype ( mixed &$var, string $type );
                     15:    Description: Set the type of variable var to type 
                     16: */
                     17: 
                     18: /* Test usage variation of gettype() and settype() functions: 
                     19:          settype() to null type. 
                     20:    Set type of the data to "null" and verify using gettype
                     21:    Following are performed in the listed sequence:
                     22:      get the current type of the variable 
                     23:      set the type of the variable to "null type"
                     24:      dump the variable to see its new data
                     25:      get the new type of the variable
                     26: */
                     27:      
                     28: /* function to handle catchable errors */
                     29: function foo($errno, $errstr, $errfile, $errline) {
                     30: //     var_dump($errstr);
                     31:    // print error no and error string
                     32:    echo "$errno: $errstr\n";
                     33: }
                     34: //set the error handler, this is required as
                     35: // settype() would fail with catachable fatal error 
                     36: set_error_handler("foo"); 
                     37: 
                     38: $var1 = "another string";
                     39: $var2 = array(2,3,4);
                     40: 
                     41: // a variable which is unset
                     42: $unset_var = 10.5;
                     43: unset( $unset_var );
                     44: 
                     45: class point
                     46: {
                     47:   var $x;
                     48:   var $y;
                     49: 
                     50:   function point($x, $y) {
                     51:      $this->x = $x;
                     52:      $this->y = $y;
                     53:   }
                     54: 
                     55:   function __toString() {
                     56:      return "ObjectPoint";
                     57:   }
                     58: }
                     59: 
                     60: $var_values = array ( 
                     61:   /* nulls */
                     62:   null,  
                     63: 
                     64:   /* boolean */
                     65:   FALSE, 
                     66:   TRUE,
                     67:   true,
                     68:  
                     69:   /* strings */
                     70:   "\xFF",
                     71:   "\x66",
                     72:   "\0123",
                     73:   "",
                     74:   '',
                     75:   " ",
                     76:   ' ',
                     77:   /* numerics in the form of string */
                     78:   '10',
                     79:   "10",
                     80:   "10string",
                     81:   '10string',
                     82:   "1",  
                     83:   "-1",
                     84:   "1e2",
                     85:   " 1",
                     86:   "2974394749328742328432",
                     87:   "-1e-2",
                     88:   '1',
                     89:   '-1',
                     90:   '1e2',
                     91:   ' 1',
                     92:   '2974394749328742328432',
                     93:   '-1e-2',
                     94:   "0xff",
                     95:   '0x55',
                     96:   '0XA55',
                     97:   '0X123',
                     98:   "0123",
                     99:   '0123',
                    100:   "-0123",
                    101:   "+0123",
                    102:   '-0123',
                    103:   '+0123',
                    104:   "-0x80001", // invalid numerics as its prefix with sign or have decimal points
                    105:   "+0x80001",
                    106:   "-0x80001.5",
                    107:   "0x80001.5",
                    108:   "@$%#$%^$%^&^",
                    109: 
                    110:   /* arrays */
                    111:   array(),
                    112:   array(NULL),
                    113:   array(1,2,3,4),
                    114:   array(1 => "one", 2 => "two", "3" => "three", "four" => 4),
                    115:   array(1.5, 2.4, 6.5e6),
                    116: 
                    117:   /* integers */
                    118:   -2147483648, // max -ne int value
                    119:   2147483647,
                    120:   2147483649,
                    121:   1232147483649,
                    122:   0x55,
                    123:   0xF674593039, // a hex value > than max int
                    124:   -0X558F,
                    125:   0555,
                    126:   -0555,
                    127:   02224242434343152, // an octal value > than max int
                    128:   
                    129:   /* floats */
                    130:   1e5,
                    131:   -1e5,
                    132:   1E5, 
                    133:   -1E5,
                    134:   -1.5,
                    135:   .5,
                    136:   -.5,
                    137:   .5e6,
                    138:   -.5e6,
                    139:   -.5e-6,
                    140:   .5e+6,
                    141:   -.5e+6,
                    142:   .512E6,
                    143:   -.512E6,
                    144:   .512E-6,
                    145:   +.512E-6,
                    146:   .512E+6,
                    147:   -.512E+6,
                    148: 
                    149:   new point(NULL, NULL),
                    150:   new point(2.5, 40.5),
                    151:   new point(0, 0),
                    152: 
                    153:   /* undefined/unset vars */
                    154:   $unset_var,
                    155:   $undef_var
                    156: );
                    157: 
                    158: /* test conversion to null type */                
                    159: $type = "null";
                    160: 
                    161: echo "\n*** Testing gettype() & settype() functions : usage variations ***\n";
                    162: echo "\n-- Setting type of data to $type --\n";
                    163: $loop_count = 1;
                    164: foreach ($var_values as $var) {
                    165:   echo "-- Iteration $loop_count --\n"; $loop_count++;
                    166: 
                    167:   // get the current data type 
                    168:   var_dump( gettype($var) );
                    169:   
                    170:   // convert it to null 
                    171:   var_dump( settype($var, $type) );
                    172: 
                    173:   // dump the converted data 
                    174:   var_dump( $var );
                    175:   
                    176:   // check the new type after conversion
                    177:   var_dump( gettype($var) );
                    178: }
                    179: 
                    180: echo "Done\n";
                    181: ?>
                    182: --EXPECTF--    
                    183: 8: Undefined variable: unset_var
                    184: 8: Undefined variable: undef_var
                    185: 
                    186: *** Testing gettype() & settype() functions : usage variations ***
                    187: 
                    188: -- Setting type of data to null --
                    189: -- Iteration 1 --
                    190: string(4) "NULL"
                    191: bool(true)
                    192: NULL
                    193: string(4) "NULL"
                    194: -- Iteration 2 --
                    195: string(7) "boolean"
                    196: bool(true)
                    197: NULL
                    198: string(4) "NULL"
                    199: -- Iteration 3 --
                    200: string(7) "boolean"
                    201: bool(true)
                    202: NULL
                    203: string(4) "NULL"
                    204: -- Iteration 4 --
                    205: string(7) "boolean"
                    206: bool(true)
                    207: NULL
                    208: string(4) "NULL"
                    209: -- Iteration 5 --
                    210: string(6) "string"
                    211: bool(true)
                    212: NULL
                    213: string(4) "NULL"
                    214: -- Iteration 6 --
                    215: string(6) "string"
                    216: bool(true)
                    217: NULL
                    218: string(4) "NULL"
                    219: -- Iteration 7 --
                    220: string(6) "string"
                    221: bool(true)
                    222: NULL
                    223: string(4) "NULL"
                    224: -- Iteration 8 --
                    225: string(6) "string"
                    226: bool(true)
                    227: NULL
                    228: string(4) "NULL"
                    229: -- Iteration 9 --
                    230: string(6) "string"
                    231: bool(true)
                    232: NULL
                    233: string(4) "NULL"
                    234: -- Iteration 10 --
                    235: string(6) "string"
                    236: bool(true)
                    237: NULL
                    238: string(4) "NULL"
                    239: -- Iteration 11 --
                    240: string(6) "string"
                    241: bool(true)
                    242: NULL
                    243: string(4) "NULL"
                    244: -- Iteration 12 --
                    245: string(6) "string"
                    246: bool(true)
                    247: NULL
                    248: string(4) "NULL"
                    249: -- Iteration 13 --
                    250: string(6) "string"
                    251: bool(true)
                    252: NULL
                    253: string(4) "NULL"
                    254: -- Iteration 14 --
                    255: string(6) "string"
                    256: bool(true)
                    257: NULL
                    258: string(4) "NULL"
                    259: -- Iteration 15 --
                    260: string(6) "string"
                    261: bool(true)
                    262: NULL
                    263: string(4) "NULL"
                    264: -- Iteration 16 --
                    265: string(6) "string"
                    266: bool(true)
                    267: NULL
                    268: string(4) "NULL"
                    269: -- Iteration 17 --
                    270: string(6) "string"
                    271: bool(true)
                    272: NULL
                    273: string(4) "NULL"
                    274: -- Iteration 18 --
                    275: string(6) "string"
                    276: bool(true)
                    277: NULL
                    278: string(4) "NULL"
                    279: -- Iteration 19 --
                    280: string(6) "string"
                    281: bool(true)
                    282: NULL
                    283: string(4) "NULL"
                    284: -- Iteration 20 --
                    285: string(6) "string"
                    286: bool(true)
                    287: NULL
                    288: string(4) "NULL"
                    289: -- Iteration 21 --
                    290: string(6) "string"
                    291: bool(true)
                    292: NULL
                    293: string(4) "NULL"
                    294: -- Iteration 22 --
                    295: string(6) "string"
                    296: bool(true)
                    297: NULL
                    298: string(4) "NULL"
                    299: -- Iteration 23 --
                    300: string(6) "string"
                    301: bool(true)
                    302: NULL
                    303: string(4) "NULL"
                    304: -- Iteration 24 --
                    305: string(6) "string"
                    306: bool(true)
                    307: NULL
                    308: string(4) "NULL"
                    309: -- Iteration 25 --
                    310: string(6) "string"
                    311: bool(true)
                    312: NULL
                    313: string(4) "NULL"
                    314: -- Iteration 26 --
                    315: string(6) "string"
                    316: bool(true)
                    317: NULL
                    318: string(4) "NULL"
                    319: -- Iteration 27 --
                    320: string(6) "string"
                    321: bool(true)
                    322: NULL
                    323: string(4) "NULL"
                    324: -- Iteration 28 --
                    325: string(6) "string"
                    326: bool(true)
                    327: NULL
                    328: string(4) "NULL"
                    329: -- Iteration 29 --
                    330: string(6) "string"
                    331: bool(true)
                    332: NULL
                    333: string(4) "NULL"
                    334: -- Iteration 30 --
                    335: string(6) "string"
                    336: bool(true)
                    337: NULL
                    338: string(4) "NULL"
                    339: -- Iteration 31 --
                    340: string(6) "string"
                    341: bool(true)
                    342: NULL
                    343: string(4) "NULL"
                    344: -- Iteration 32 --
                    345: string(6) "string"
                    346: bool(true)
                    347: NULL
                    348: string(4) "NULL"
                    349: -- Iteration 33 --
                    350: string(6) "string"
                    351: bool(true)
                    352: NULL
                    353: string(4) "NULL"
                    354: -- Iteration 34 --
                    355: string(6) "string"
                    356: bool(true)
                    357: NULL
                    358: string(4) "NULL"
                    359: -- Iteration 35 --
                    360: string(6) "string"
                    361: bool(true)
                    362: NULL
                    363: string(4) "NULL"
                    364: -- Iteration 36 --
                    365: string(6) "string"
                    366: bool(true)
                    367: NULL
                    368: string(4) "NULL"
                    369: -- Iteration 37 --
                    370: string(6) "string"
                    371: bool(true)
                    372: NULL
                    373: string(4) "NULL"
                    374: -- Iteration 38 --
                    375: string(6) "string"
                    376: bool(true)
                    377: NULL
                    378: string(4) "NULL"
                    379: -- Iteration 39 --
                    380: string(6) "string"
                    381: bool(true)
                    382: NULL
                    383: string(4) "NULL"
                    384: -- Iteration 40 --
                    385: string(6) "string"
                    386: bool(true)
                    387: NULL
                    388: string(4) "NULL"
                    389: -- Iteration 41 --
                    390: string(6) "string"
                    391: bool(true)
                    392: NULL
                    393: string(4) "NULL"
                    394: -- Iteration 42 --
                    395: string(6) "string"
                    396: bool(true)
                    397: NULL
                    398: string(4) "NULL"
                    399: -- Iteration 43 --
                    400: string(5) "array"
                    401: bool(true)
                    402: NULL
                    403: string(4) "NULL"
                    404: -- Iteration 44 --
                    405: string(5) "array"
                    406: bool(true)
                    407: NULL
                    408: string(4) "NULL"
                    409: -- Iteration 45 --
                    410: string(5) "array"
                    411: bool(true)
                    412: NULL
                    413: string(4) "NULL"
                    414: -- Iteration 46 --
                    415: string(5) "array"
                    416: bool(true)
                    417: NULL
                    418: string(4) "NULL"
                    419: -- Iteration 47 --
                    420: string(5) "array"
                    421: bool(true)
                    422: NULL
                    423: string(4) "NULL"
                    424: -- Iteration 48 --
                    425: string(6) "double"
                    426: bool(true)
                    427: NULL
                    428: string(4) "NULL"
                    429: -- Iteration 49 --
                    430: string(7) "integer"
                    431: bool(true)
                    432: NULL
                    433: string(4) "NULL"
                    434: -- Iteration 50 --
                    435: string(6) "double"
                    436: bool(true)
                    437: NULL
                    438: string(4) "NULL"
                    439: -- Iteration 51 --
                    440: string(6) "double"
                    441: bool(true)
                    442: NULL
                    443: string(4) "NULL"
                    444: -- Iteration 52 --
                    445: string(7) "integer"
                    446: bool(true)
                    447: NULL
                    448: string(4) "NULL"
                    449: -- Iteration 53 --
                    450: string(6) "double"
                    451: bool(true)
                    452: NULL
                    453: string(4) "NULL"
                    454: -- Iteration 54 --
                    455: string(7) "integer"
                    456: bool(true)
                    457: NULL
                    458: string(4) "NULL"
                    459: -- Iteration 55 --
                    460: string(7) "integer"
                    461: bool(true)
                    462: NULL
                    463: string(4) "NULL"
                    464: -- Iteration 56 --
                    465: string(7) "integer"
                    466: bool(true)
                    467: NULL
                    468: string(4) "NULL"
                    469: -- Iteration 57 --
                    470: string(6) "double"
                    471: bool(true)
                    472: NULL
                    473: string(4) "NULL"
                    474: -- Iteration 58 --
                    475: string(6) "double"
                    476: bool(true)
                    477: NULL
                    478: string(4) "NULL"
                    479: -- Iteration 59 --
                    480: string(6) "double"
                    481: bool(true)
                    482: NULL
                    483: string(4) "NULL"
                    484: -- Iteration 60 --
                    485: string(6) "double"
                    486: bool(true)
                    487: NULL
                    488: string(4) "NULL"
                    489: -- Iteration 61 --
                    490: string(6) "double"
                    491: bool(true)
                    492: NULL
                    493: string(4) "NULL"
                    494: -- Iteration 62 --
                    495: string(6) "double"
                    496: bool(true)
                    497: NULL
                    498: string(4) "NULL"
                    499: -- Iteration 63 --
                    500: string(6) "double"
                    501: bool(true)
                    502: NULL
                    503: string(4) "NULL"
                    504: -- Iteration 64 --
                    505: string(6) "double"
                    506: bool(true)
                    507: NULL
                    508: string(4) "NULL"
                    509: -- Iteration 65 --
                    510: string(6) "double"
                    511: bool(true)
                    512: NULL
                    513: string(4) "NULL"
                    514: -- Iteration 66 --
                    515: string(6) "double"
                    516: bool(true)
                    517: NULL
                    518: string(4) "NULL"
                    519: -- Iteration 67 --
                    520: string(6) "double"
                    521: bool(true)
                    522: NULL
                    523: string(4) "NULL"
                    524: -- Iteration 68 --
                    525: string(6) "double"
                    526: bool(true)
                    527: NULL
                    528: string(4) "NULL"
                    529: -- Iteration 69 --
                    530: string(6) "double"
                    531: bool(true)
                    532: NULL
                    533: string(4) "NULL"
                    534: -- Iteration 70 --
                    535: string(6) "double"
                    536: bool(true)
                    537: NULL
                    538: string(4) "NULL"
                    539: -- Iteration 71 --
                    540: string(6) "double"
                    541: bool(true)
                    542: NULL
                    543: string(4) "NULL"
                    544: -- Iteration 72 --
                    545: string(6) "double"
                    546: bool(true)
                    547: NULL
                    548: string(4) "NULL"
                    549: -- Iteration 73 --
                    550: string(6) "double"
                    551: bool(true)
                    552: NULL
                    553: string(4) "NULL"
                    554: -- Iteration 74 --
                    555: string(6) "double"
                    556: bool(true)
                    557: NULL
                    558: string(4) "NULL"
                    559: -- Iteration 75 --
                    560: string(6) "double"
                    561: bool(true)
                    562: NULL
                    563: string(4) "NULL"
                    564: -- Iteration 76 --
                    565: string(6) "object"
                    566: bool(true)
                    567: NULL
                    568: string(4) "NULL"
                    569: -- Iteration 77 --
                    570: string(6) "object"
                    571: bool(true)
                    572: NULL
                    573: string(4) "NULL"
                    574: -- Iteration 78 --
                    575: string(6) "object"
                    576: bool(true)
                    577: NULL
                    578: string(4) "NULL"
                    579: -- Iteration 79 --
                    580: string(4) "NULL"
                    581: bool(true)
                    582: NULL
                    583: string(4) "NULL"
                    584: -- Iteration 80 --
                    585: string(4) "NULL"
                    586: bool(true)
                    587: NULL
                    588: string(4) "NULL"
                    589: Done

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