Annotation of embedaddon/php/ext/mbstring/tests/mb_ereg_search_xxx.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: mb_ereg_search() stuff
3: --SKIPIF--
4: <?php
5: extension_loaded('mbstring') or die('skip mbstring not available');
6: function_exists('mb_ereg_search') or die("skip\n");
7: ?>
8: --INI--
9: output_handler=
10: --FILE--
11: <?php
12: mb_regex_set_options( '' );
13:
14: $encs = array( 'EUC-JP', 'Shift_JIS', 'SJIS', 'UTF-8' );
15:
16: function test_search( $test_enc, $str, $look_for, $opt, $in_enc = 'EUC-JP' ) {
17: mb_regex_encoding( $test_enc );
18: $str = mb_convert_encoding( $str, $test_enc, $in_enc );
19: $look_for = mb_convert_encoding( $look_for, $test_enc, $in_enc );
20: mb_ereg_search_init( $str, $look_for, $opt );
21: while ( mb_ereg_search_pos() ) {
22: $regs = mb_ereg_search_getregs();
23: array_shift( $regs );
24: printf( "(%s) (%d) %s\n", $test_enc, mb_ereg_search_getpos(), mb_convert_encoding( ( is_array( $regs ) ? implode( '-', $regs ): '' ), $in_enc, $test_enc ) );
25: }
26: }
27: function do_tests( $enc, $opt ) {
28: test_search( $enc, "¢Ï¡¦ ¡¦¢Ï\n", ' (¡¦?¢Ï¡¦?)[[:space:]]', $opt );
29: test_search( $enc, 'abcde abdeabcf anvfabc odu abcd ', '(ab[a-z]+)', $opt );
30: }
31:
32: foreach( $encs as $enc ) {
33: do_tests( $enc, '' );
34: do_tests( $enc, 'x' );
35: }
36: ?>
37:
38: --EXPECT--
39: (EUC-JP) (10) ¡¦¢Ï
40: (EUC-JP) (5) abcde
41: (EUC-JP) (14) abdeabcf
42: (EUC-JP) (22) abc
43: (EUC-JP) (31) abcd
44: (EUC-JP) (5) ¢Ï¡¦
45: (EUC-JP) (10) ¡¦¢Ï
46: (EUC-JP) (5) abcde
47: (EUC-JP) (14) abdeabcf
48: (EUC-JP) (22) abc
49: (EUC-JP) (31) abcd
50: (Shift_JIS) (10) ¡¦¢Ï
51: (Shift_JIS) (5) abcde
52: (Shift_JIS) (14) abdeabcf
53: (Shift_JIS) (22) abc
54: (Shift_JIS) (31) abcd
55: (Shift_JIS) (5) ¢Ï¡¦
56: (Shift_JIS) (10) ¡¦¢Ï
57: (Shift_JIS) (5) abcde
58: (Shift_JIS) (14) abdeabcf
59: (Shift_JIS) (22) abc
60: (Shift_JIS) (31) abcd
61: (SJIS) (10) ¡¦¢Ï
62: (SJIS) (5) abcde
63: (SJIS) (14) abdeabcf
64: (SJIS) (22) abc
65: (SJIS) (31) abcd
66: (SJIS) (5) ¢Ï¡¦
67: (SJIS) (10) ¡¦¢Ï
68: (SJIS) (5) abcde
69: (SJIS) (14) abdeabcf
70: (SJIS) (22) abc
71: (SJIS) (31) abcd
72: (UTF-8) (14) ¡¦¢Ï
73: (UTF-8) (5) abcde
74: (UTF-8) (14) abdeabcf
75: (UTF-8) (22) abc
76: (UTF-8) (31) abcd
77: (UTF-8) (7) ¢Ï¡¦
78: (UTF-8) (14) ¡¦¢Ï
79: (UTF-8) (5) abcde
80: (UTF-8) (14) abdeabcf
81: (UTF-8) (22) abc
82: (UTF-8) (31) abcd
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>