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

1.1       misho       1: --TEST--
                      2: iconv_mime_decode()
                      3: --SKIPIF--
                      4: <?php extension_loaded('iconv') or die('skip iconv extension is not available'); ?>
                      5: --INI--
                      6: iconv.internal_charset=iso-8859-1
                      7: --FILE--
                      8: <?php
                      9: function my_error_handler($errno, $errmsg, $filename, $linenum, $vars)
                     10: {
                     11:        echo "$errno: $errmsg\n";
                     12: }
                     13: set_error_handler('my_error_handler');
                     14: 
                     15: function do_single_test($header)
                     16: {
                     17:        global $mode;
                     18: 
                     19:        $result = iconv_mime_decode($header, $mode, "UTF-8");
                     20:        printf("(%d) \"%s\"\n", iconv_strlen($result, "UTF-8"), $result);
                     21: }
                     22: 
                     23: function do_regression_test()
                     24: {
                     25:        do_single_test(<<< HERE
                     26: Subject: =?ISO-8859-1?Q?Pr=FCfung?=
                     27:        =?ISO-8859-1*de_DE?Q?Pr=FCfung?=\t
                     28:         =?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
                     29: HERE
                     30: );
                     31:        do_single_test(<<< HERE
                     32: Subject: =?ISO-8859-1?Q?Pr=FCfung?= =?ISO-8859-1*de_DE?Q?=20Pr=FCfung?= \t  =?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
                     33: HERE
                     34: );
                     35:        do_single_test(<<< HERE
                     36: Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?=
                     37: HERE
                     38: );
                     39:        do_single_test(<<< HERE
                     40: Subject: =?ISO-8859-1?Q?Pr=FCfung?= =?ISO-8859-1*de_DE?Q?Pr=FCfung??   =?ISO-8859-2?X?k=F9=D4=F1=D3let?=
                     41: HERE
                     42: );
                     43:        do_single_test(<<< HERE
                     44: From: =?ISO-2022-JP?B?GyRCJTUbKEI=?=
                     45:  =?ISO-2022-JP?B?GyRCJXMlVxsoQg==?=
                     46:  =?ISO-2022-JP?B?GyRCJWtKOBsoQg==?=
                     47:  =?ISO-2022-JP?B?GyRCO3pOcxsoQg==?=
                     48:  =?ISO-2022-JP?B?GyRCJTUlcxsoQg==?=
                     49:  =?ISO-2022-JP?B?GyRCJVclaxsoQg==?=
                     50:  =?ISO-2022-JP?B?GyRCSjg7ehsoQg==?=
                     51:  =?ISO-2022-JP?B?GyRCTnNGfBsoQg==?=
                     52:  =?ISO-2022-JP?B?GyRCS1w4bBsoQg==?=
                     53:  =?ISO-2022-JP?B?GyRCJUYlLRsoQg==?=
                     54:  =?ISO-2022-JP?B?GyRCJTklSBsoQg==?=
                     55: HERE
                     56: );
                     57: }
                     58: 
                     59: $mode = 0;
                     60: do_regression_test();
                     61: $mode = ICONV_MIME_DECODE_STRICT;
                     62: do_regression_test();
                     63: $mode = ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
                     64: do_regression_test();
                     65: $mode = ICONV_MIME_DECODE_STRICT | ICONV_MIME_DECODE_CONTINUE_ON_ERROR;
                     66: do_regression_test();
                     67: --EXPECT--
                     68: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     69: (32) "Subject: Prüfung PrüfungkůÔńÓlet"
                     70: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     71: 2: iconv_mime_decode(): Malformed string
                     72: (0) ""
                     73: (27) "From: サンプル文字列サンプル文字列日本語テキスト"
                     74: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     75: (32) "Subject: Prüfung PrüfungkůÔńÓlet"
                     76: (100) "Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?="
                     77: 2: iconv_mime_decode(): Malformed string
                     78: (0) ""
                     79: (27) "From: サンプル文字列サンプル文字列日本語テキスト"
                     80: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     81: (32) "Subject: Prüfung PrüfungkůÔńÓlet"
                     82: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     83: (84) "Subject: Prüfung=?ISO-8859-1*de_DE?Q?Pr=FCfung??   =?ISO-8859-2?X?k=F9=D4=F1=D3let?="
                     84: (27) "From: サンプル文字列サンプル文字列日本語テキスト"
                     85: (31) "Subject: PrüfungPrüfungkůÔńÓlet"
                     86: (32) "Subject: Prüfung PrüfungkůÔńÓlet"
                     87: (100) "Subject: =?ISO-8859-1?Q?Pr=FCfung?==?ISO-8859-1*de_DE?Q?Pr=FCfung?==?ISO-8859-2?Q?k=F9=D4=F1=D3let?="
                     88: (84) "Subject: Prüfung=?ISO-8859-1*de_DE?Q?Pr=FCfung??   =?ISO-8859-2?X?k=F9=D4=F1=D3let?="
                     89: (27) "From: サンプル文字列サンプル文字列日本語テキスト"
                     90: 

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