Annotation of embedaddon/php/ext/iconv/tests/iconv_mime_decode_headers_variation3.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test iconv_mime_encode() function : usage variations - Pass different data types to charset arg
                      3: --SKIPIF--
                      4: <?php
                      5: extension_loaded('iconv') or die('skip');
                      6: function_exists('iconv_mime_decode_headers') or die("skip iconv_mime_decode_headers() is not available in this build");
                      7: ?>
                      8: --FILE--
                      9: <?php
                     10: /* Prototype  : array iconv_mime_decode_headers(string headers [, int mode, string charset])
                     11:  * Description: Decodes multiple mime header fields
                     12:  * Source code: ext/iconv/iconv.c
                     13:  */
                     14: 
                     15: /*
                     16:  * Pass different data types to $str argument to see how iconv_mime_decode_headers() behaves
                     17:  */
                     18: 
                     19: echo "*** Testing iconv_mime_decode_headers() : usage variations ***\n";
                     20: 
                     21: // Some of the parameters actually passed to charset will request to use
                     22: // a default charset determined by the platform. In order for this test to
                     23: // run on both linux and windows, the subject will have to be ascii only.
                     24: // Initialise function arguments not being substituted
                     25: $headers = <<<EOF
                     26: Subject: =?UTF-8?B?QSBTYW1wbGUgVGVzdA==?=
                     27: To: example@example.com
                     28: Date: Thu, 1 Jan 1970 00:00:00 +0000
                     29: Message-Id: <example@example.com>
                     30: Received: from localhost (localhost [127.0.0.1]) by localhost
                     31:     with SMTP id example for <example@example.com>;
                     32:     Thu, 1 Jan 1970 00:00:00 +0000 (UTC)
                     33:     (envelope-from example-return-0000-example=example.com@example.com)
                     34: Received: (qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000
                     35: 
                     36: EOF;
                     37: 
                     38: $mode = ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
                     39: $charset = 'UTF-8';
                     40: 
                     41: 
                     42: //get an unset variable
                     43: $unset_var = 10;
                     44: unset ($unset_var);
                     45: 
                     46: // get a class
                     47: class classA
                     48: {
                     49:   public function __toString() {
                     50:     return "Class A object";
                     51:   }
                     52: }
                     53: 
                     54: // heredoc string
                     55: $heredoc = <<<EOT
                     56: hello world
                     57: EOT;
                     58: 
                     59: // get a resource variable
                     60: $fp = fopen(__FILE__, "r");
                     61: 
                     62: // unexpected values to be passed to $str argument
                     63: $inputs = array(
                     64: 
                     65:        // int data
                     66: /*1*/  0,
                     67:        1,
                     68:        12345,
                     69:        -2345,
                     70: 
                     71:        // float data
                     72: /*5*/  10.5,
                     73:        -10.5,
                     74:        12.3456789000e10,
                     75:        12.3456789000E-10,
                     76:        .5,
                     77: 
                     78:        // null data
                     79: /*10*/ NULL,
                     80:        null,
                     81: 
                     82:        // boolean data
                     83: /*12*/ true,
                     84:        false,
                     85:        TRUE,
                     86:        FALSE,
                     87:        
                     88:        // empty data
                     89: /*16*/ "",
                     90:        '',
                     91: 
                     92:        // string data
                     93: /*18*/ "string",
                     94:        'string',
                     95:        $heredoc,
                     96:        
                     97:        // object data
                     98: /*21*/ new classA(),
                     99: 
                    100:        // undefined data
                    101: /*22*/ @$undefined_var,
                    102: 
                    103:        // unset data
                    104: /*23*/ @$unset_var,
                    105: 
                    106:        // resource variable
                    107: /*24*/ $fp
                    108: );
                    109: 
                    110: // loop through each element of $inputs to check the behavior of iconv_mime_decode_headers()
                    111: $iterator = 1;
                    112: foreach($inputs as $input) {
                    113:   echo "\n-- Iteration $iterator --\n";
                    114:   var_dump( iconv_mime_decode_headers($headers, $input, $charset));
                    115:   $iterator++;
                    116: };
                    117: 
                    118: fclose($fp);
                    119: 
                    120: echo "Done";
                    121: ?>
                    122: --EXPECTF--
                    123: *** Testing iconv_mime_decode_headers() : usage variations ***
                    124: 
                    125: -- Iteration 1 --
                    126: array(5) {
                    127:   ["Subject"]=>
                    128:   string(13) "A Sample Test"
                    129:   ["To"]=>
                    130:   string(19) "example@example.com"
                    131:   ["Date"]=>
                    132:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    133:   ["Message-Id"]=>
                    134:   string(21) "<example@example.com>"
                    135:   ["Received"]=>
                    136:   array(2) {
                    137:     [0]=>
                    138:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    139:     [1]=>
                    140:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    141:   }
                    142: }
                    143: 
                    144: -- Iteration 2 --
                    145: array(5) {
                    146:   ["Subject"]=>
                    147:   string(13) "A Sample Test"
                    148:   ["To"]=>
                    149:   string(19) "example@example.com"
                    150:   ["Date"]=>
                    151:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    152:   ["Message-Id"]=>
                    153:   string(21) "<example@example.com>"
                    154:   ["Received"]=>
                    155:   array(2) {
                    156:     [0]=>
                    157:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    158:     [1]=>
                    159:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    160:   }
                    161: }
                    162: 
                    163: -- Iteration 3 --
                    164: array(5) {
                    165:   ["Subject"]=>
                    166:   string(13) "A Sample Test"
                    167:   ["To"]=>
                    168:   string(19) "example@example.com"
                    169:   ["Date"]=>
                    170:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    171:   ["Message-Id"]=>
                    172:   string(21) "<example@example.com>"
                    173:   ["Received"]=>
                    174:   array(2) {
                    175:     [0]=>
                    176:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    177:     [1]=>
                    178:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    179:   }
                    180: }
                    181: 
                    182: -- Iteration 4 --
                    183: array(5) {
                    184:   ["Subject"]=>
                    185:   string(13) "A Sample Test"
                    186:   ["To"]=>
                    187:   string(19) "example@example.com"
                    188:   ["Date"]=>
                    189:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    190:   ["Message-Id"]=>
                    191:   string(21) "<example@example.com>"
                    192:   ["Received"]=>
                    193:   array(2) {
                    194:     [0]=>
                    195:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    196:     [1]=>
                    197:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    198:   }
                    199: }
                    200: 
                    201: -- Iteration 5 --
                    202: array(5) {
                    203:   ["Subject"]=>
                    204:   string(13) "A Sample Test"
                    205:   ["To"]=>
                    206:   string(19) "example@example.com"
                    207:   ["Date"]=>
                    208:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    209:   ["Message-Id"]=>
                    210:   string(21) "<example@example.com>"
                    211:   ["Received"]=>
                    212:   array(2) {
                    213:     [0]=>
                    214:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    215:     [1]=>
                    216:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    217:   }
                    218: }
                    219: 
                    220: -- Iteration 6 --
                    221: array(5) {
                    222:   ["Subject"]=>
                    223:   string(13) "A Sample Test"
                    224:   ["To"]=>
                    225:   string(19) "example@example.com"
                    226:   ["Date"]=>
                    227:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    228:   ["Message-Id"]=>
                    229:   string(21) "<example@example.com>"
                    230:   ["Received"]=>
                    231:   array(2) {
                    232:     [0]=>
                    233:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    234:     [1]=>
                    235:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    236:   }
                    237: }
                    238: 
                    239: -- Iteration 7 --
                    240: array(5) {
                    241:   ["Subject"]=>
                    242:   string(13) "A Sample Test"
                    243:   ["To"]=>
                    244:   string(19) "example@example.com"
                    245:   ["Date"]=>
                    246:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    247:   ["Message-Id"]=>
                    248:   string(21) "<example@example.com>"
                    249:   ["Received"]=>
                    250:   array(2) {
                    251:     [0]=>
                    252:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    253:     [1]=>
                    254:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    255:   }
                    256: }
                    257: 
                    258: -- Iteration 8 --
                    259: array(5) {
                    260:   ["Subject"]=>
                    261:   string(13) "A Sample Test"
                    262:   ["To"]=>
                    263:   string(19) "example@example.com"
                    264:   ["Date"]=>
                    265:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    266:   ["Message-Id"]=>
                    267:   string(21) "<example@example.com>"
                    268:   ["Received"]=>
                    269:   array(2) {
                    270:     [0]=>
                    271:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    272:     [1]=>
                    273:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    274:   }
                    275: }
                    276: 
                    277: -- Iteration 9 --
                    278: array(5) {
                    279:   ["Subject"]=>
                    280:   string(13) "A Sample Test"
                    281:   ["To"]=>
                    282:   string(19) "example@example.com"
                    283:   ["Date"]=>
                    284:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    285:   ["Message-Id"]=>
                    286:   string(21) "<example@example.com>"
                    287:   ["Received"]=>
                    288:   array(2) {
                    289:     [0]=>
                    290:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    291:     [1]=>
                    292:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    293:   }
                    294: }
                    295: 
                    296: -- Iteration 10 --
                    297: array(5) {
                    298:   ["Subject"]=>
                    299:   string(13) "A Sample Test"
                    300:   ["To"]=>
                    301:   string(19) "example@example.com"
                    302:   ["Date"]=>
                    303:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    304:   ["Message-Id"]=>
                    305:   string(21) "<example@example.com>"
                    306:   ["Received"]=>
                    307:   array(2) {
                    308:     [0]=>
                    309:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    310:     [1]=>
                    311:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    312:   }
                    313: }
                    314: 
                    315: -- Iteration 11 --
                    316: array(5) {
                    317:   ["Subject"]=>
                    318:   string(13) "A Sample Test"
                    319:   ["To"]=>
                    320:   string(19) "example@example.com"
                    321:   ["Date"]=>
                    322:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    323:   ["Message-Id"]=>
                    324:   string(21) "<example@example.com>"
                    325:   ["Received"]=>
                    326:   array(2) {
                    327:     [0]=>
                    328:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    329:     [1]=>
                    330:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    331:   }
                    332: }
                    333: 
                    334: -- Iteration 12 --
                    335: array(5) {
                    336:   ["Subject"]=>
                    337:   string(13) "A Sample Test"
                    338:   ["To"]=>
                    339:   string(19) "example@example.com"
                    340:   ["Date"]=>
                    341:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    342:   ["Message-Id"]=>
                    343:   string(21) "<example@example.com>"
                    344:   ["Received"]=>
                    345:   array(2) {
                    346:     [0]=>
                    347:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    348:     [1]=>
                    349:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    350:   }
                    351: }
                    352: 
                    353: -- Iteration 13 --
                    354: array(5) {
                    355:   ["Subject"]=>
                    356:   string(13) "A Sample Test"
                    357:   ["To"]=>
                    358:   string(19) "example@example.com"
                    359:   ["Date"]=>
                    360:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    361:   ["Message-Id"]=>
                    362:   string(21) "<example@example.com>"
                    363:   ["Received"]=>
                    364:   array(2) {
                    365:     [0]=>
                    366:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    367:     [1]=>
                    368:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    369:   }
                    370: }
                    371: 
                    372: -- Iteration 14 --
                    373: array(5) {
                    374:   ["Subject"]=>
                    375:   string(13) "A Sample Test"
                    376:   ["To"]=>
                    377:   string(19) "example@example.com"
                    378:   ["Date"]=>
                    379:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    380:   ["Message-Id"]=>
                    381:   string(21) "<example@example.com>"
                    382:   ["Received"]=>
                    383:   array(2) {
                    384:     [0]=>
                    385:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    386:     [1]=>
                    387:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    388:   }
                    389: }
                    390: 
                    391: -- Iteration 15 --
                    392: array(5) {
                    393:   ["Subject"]=>
                    394:   string(13) "A Sample Test"
                    395:   ["To"]=>
                    396:   string(19) "example@example.com"
                    397:   ["Date"]=>
                    398:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    399:   ["Message-Id"]=>
                    400:   string(21) "<example@example.com>"
                    401:   ["Received"]=>
                    402:   array(2) {
                    403:     [0]=>
                    404:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    405:     [1]=>
                    406:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    407:   }
                    408: }
                    409: 
                    410: -- Iteration 16 --
                    411: 
                    412: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
                    413: bool(false)
                    414: 
                    415: -- Iteration 17 --
                    416: 
                    417: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
                    418: bool(false)
                    419: 
                    420: -- Iteration 18 --
                    421: 
                    422: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
                    423: bool(false)
                    424: 
                    425: -- Iteration 19 --
                    426: 
                    427: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
                    428: bool(false)
                    429: 
                    430: -- Iteration 20 --
                    431: 
                    432: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, string given in %s on line %d
                    433: bool(false)
                    434: 
                    435: -- Iteration 21 --
                    436: 
                    437: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, object given in %s on line %d
                    438: bool(false)
                    439: 
                    440: -- Iteration 22 --
                    441: array(5) {
                    442:   ["Subject"]=>
                    443:   string(13) "A Sample Test"
                    444:   ["To"]=>
                    445:   string(19) "example@example.com"
                    446:   ["Date"]=>
                    447:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    448:   ["Message-Id"]=>
                    449:   string(21) "<example@example.com>"
                    450:   ["Received"]=>
                    451:   array(2) {
                    452:     [0]=>
                    453:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    454:     [1]=>
                    455:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    456:   }
                    457: }
                    458: 
                    459: -- Iteration 23 --
                    460: array(5) {
                    461:   ["Subject"]=>
                    462:   string(13) "A Sample Test"
                    463:   ["To"]=>
                    464:   string(19) "example@example.com"
                    465:   ["Date"]=>
                    466:   string(30) "Thu, 1 Jan 1970 00:00:00 +0000"
                    467:   ["Message-Id"]=>
                    468:   string(21) "<example@example.com>"
                    469:   ["Received"]=>
                    470:   array(2) {
                    471:     [0]=>
                    472:     string(204) "from localhost (localhost [127.0.0.1]) by localhost with SMTP id example for <example@example.com>; Thu, 1 Jan 1970 00:00:00 +0000 (UTC) (envelope-from example-return-0000-example=example.com@example.com)"
                    473:     [1]=>
                    474:     string(57) "(qmail 0 invoked by uid 65534); 1 Thu 2003 00:00:00 +0000"
                    475:   }
                    476: }
                    477: 
                    478: -- Iteration 24 --
                    479: 
                    480: Warning: iconv_mime_decode_headers() expects parameter 2 to be long, resource given in %s on line %d
                    481: bool(false)
                    482: Done

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