diff options
| author | Moriyoshi Koizumi <moriyoshi@php.net> | 2002-10-07 18:02:05 +0000 |
|---|---|---|
| committer | Moriyoshi Koizumi <moriyoshi@php.net> | 2002-10-07 18:02:05 +0000 |
| commit | a0f61c9c51bad28cdc7bab67c40ceaa77d219df7 (patch) | |
| tree | 82837ce16b1f36d0232761d32d0de7a9318a1538 | |
| parent | 2e1d931c66e7f518f8d2360b0d57b90e353f2763 (diff) | |
| download | php-git-a0f61c9c51bad28cdc7bab67c40ceaa77d219df7.tar.gz | |
Added test cases for mbregex
| -rw-r--r-- | ext/mbstring/tests/021.inc | 4 | ||||
| -rw-r--r-- | ext/mbstring/tests/021.phpt | 13 | ||||
| -rw-r--r-- | ext/mbstring/tests/022.inc | 25 | ||||
| -rw-r--r-- | ext/mbstring/tests/022.phpt | 20 | ||||
| -rw-r--r-- | ext/mbstring/tests/023.inc | 21 | ||||
| -rw-r--r-- | ext/mbstring/tests/023.phpt | 22 | ||||
| -rw-r--r-- | ext/mbstring/tests/024.inc | 24 | ||||
| -rw-r--r-- | ext/mbstring/tests/024.phpt | 54 |
8 files changed, 183 insertions, 0 deletions
diff --git a/ext/mbstring/tests/021.inc b/ext/mbstring/tests/021.inc new file mode 100644 index 0000000000..1bb2942572 --- /dev/null +++ b/ext/mbstring/tests/021.inc @@ -0,0 +1,4 @@ +<?php + print mb_ereg_replace( ' ', '-', 'a b c d e' )."\n"; + print mb_ereg_replace( '([a-z]+)','[\\1]', 'abc def ghi' ); +?> diff --git a/ext/mbstring/tests/021.phpt b/ext/mbstring/tests/021.phpt new file mode 100644 index 0000000000..ba882574fa --- /dev/null +++ b/ext/mbstring/tests/021.phpt @@ -0,0 +1,13 @@ +--TEST-- +mb_ereg_replace() +--SKIPIF-- +<?php include('skipif.inc'); ?> +function_exists('mb_ereg_replace') or die("SKIP"); +--POST-- +--GET-- +--FILE-- +<?php include('021.inc'); ?> +--EXPECT-- +a-b-c-d-e +[abc] [def] [ghi] + diff --git a/ext/mbstring/tests/022.inc b/ext/mbstring/tests/022.inc new file mode 100644 index 0000000000..800a8797d1 --- /dev/null +++ b/ext/mbstring/tests/022.inc @@ -0,0 +1,25 @@ +<?php + mb_regex_encoding( 'EUC-JP' ); + + function verify_split( $spliton, $str, $count = 0 ) + { + $result1 = mb_split( $spliton, $str, $count ); + $result2 = split( $spliton, $str, $count ); + if ( $result1 == $result2 ) { + print "ok\n"; + } else { + print count($result1).'-'.count($result2)."\n"; + } + } + + var_dump( mb_split( " ", "a b c d e f g" ) + == mb_split( "[[:space:]]", "a\nb\tc\nd e f g" ) ); + + for ( $i = 0; $i < 5; ++$i ) { + verify_split( " ", "a\tb\tc\td e\tf g", $i ); + } + + for ( $i = 1; $i < 5; ++$i ) { + verify_split( "\xa1\xa1+", "\xa1\xa1\xa1\xa2\xa2\xa1\xa1\xa1\xa1\xa1\xa1\xa2\xa2\xa1\xa1\xa1", $i ); + } +?> diff --git a/ext/mbstring/tests/022.phpt b/ext/mbstring/tests/022.phpt new file mode 100644 index 0000000000..955eb7ac3c --- /dev/null +++ b/ext/mbstring/tests/022.phpt @@ -0,0 +1,20 @@ +--TEST-- +mb_split() +--SKIPIF-- +<?php include('skipif.inc'); ?> +function_exists('mb_split') or die("SKIP"); +--POST-- +--GET-- +--FILE-- +<?php include('022.inc'); ?> +--EXPECT-- +bool(true) +ok +ok +ok +ok +ok +ok +2-2 +3-3 +4-4 diff --git a/ext/mbstring/tests/023.inc b/ext/mbstring/tests/023.inc new file mode 100644 index 0000000000..9c8ae142a0 --- /dev/null +++ b/ext/mbstring/tests/023.inc @@ -0,0 +1,21 @@ +<?php + $encs = array( 'EUC-JP', 'Shift_JIS', 'SJIS', 'UTF-8' ); + + function test_ereg( $test_enc, $pat, $str, $in_enc = 'EUC-JP' ) { + mb_regex_encoding( $test_enc ); + $pat = mb_convert_encoding( $pat, $test_enc, $in_enc ); + $str = mb_convert_encoding( $str, $test_enc, $in_enc ); + + printf( "(%d)%s\n", mb_ereg( $pat, $str, $reg ), ( is_array( $reg )? mb_convert_encoding( implode( ' ', $reg ), $in_enc, $test_enc ) : '' ) ); + } + function do_tests( $enc ) { + test_ereg( $enc, 'abc ([a-z]+) ([a-z]+) ([a-z]+)$', "abc def ghi jkl" ); + $pat = '([a-z]+) ([ あ-か]+)([か-な]+) ([わ-ん]+)$'; + test_ereg( $enc, $pat, 'abc あおい かこな わゑん' ); + test_ereg( $enc, $pat, 'mzxfp うおか きか をゐ' ); + } + + foreach( $encs as $enc ) { + do_tests( $enc ); + } +?> diff --git a/ext/mbstring/tests/023.phpt b/ext/mbstring/tests/023.phpt new file mode 100644 index 0000000000..c4c9d4138e --- /dev/null +++ b/ext/mbstring/tests/023.phpt @@ -0,0 +1,22 @@ +--TEST-- +mb_ereg() +--SKIPIF-- +<?php include('skipif.inc'); ?> +function_exists('mb_ereg') or die("SKIP"); +--POST-- +--GET-- +--FILE-- +<?php include('023.inc'); ?> +--EXPECT-- +(15)abc def ghi jkl def ghi jkl +(27)abc あおい かこな わゑん abc あおい か こな わゑん +(27)mzxfp うおか きか をゐ mzxfp うおか きか をゐ +(15)abc def ghi jkl def ghi jkl +(27)abc あおい かこな わゑん abc あおい か こな わゑん +(27)mzxfp うおか きか をゐ mzxfp うおか きか をゐ +(15)abc def ghi jkl def ghi jkl +(27)abc あおい かこな わゑん abc あおい か こな わゑん +(27)mzxfp うおか きか をゐ mzxfp うおか きか をゐ +(15)abc def ghi jkl def ghi jkl +(39)abc あおい かこな わゑん abc あおい か こな わゑん +(39)mzxfp うおか きか をゐ mzxfp うおか きか をゐ diff --git a/ext/mbstring/tests/024.inc b/ext/mbstring/tests/024.inc new file mode 100644 index 0000000000..12e5c3961c --- /dev/null +++ b/ext/mbstring/tests/024.inc @@ -0,0 +1,24 @@ +<?php + $encs = array( 'EUC-JP', 'Shift_JIS', 'SJIS', 'UTF-8' ); + + function test_search( $test_enc, $str, $look_for, $opt, $in_enc = 'EUC-JP' ) { + mb_regex_encoding( $test_enc ); + $str = mb_convert_encoding( $str, $test_enc, $in_enc ); + $look_for = mb_convert_encoding( $look_for, $test_enc, $in_enc ); + mb_ereg_search_init( $str, $look_for, $opt ); + while ( mb_ereg_search_pos() ) { + $regs = mb_ereg_search_getregs(); + array_shift( $regs ); + printf( "(%s) (%d) %s\n", $test_enc, mb_ereg_search_getpos(), mb_convert_encoding( ( is_array( $regs ) ? implode( '-', $regs ): '' ), $in_enc, $test_enc ) ); + } + } + function do_tests( $enc, $opt ) { + test_search( $enc, "∀・ ・∀\n", ' (・?∀・?)[[:space:]]', $opt ); + test_search( $enc, 'abcde abdeabcf anvfabc odu abcd ', '(ab[a-z]+)', $opt ); + } + + foreach( $encs as $enc ) { + do_tests( $enc, '' ); + do_tests( $enc, 'x' ); + } +?> diff --git a/ext/mbstring/tests/024.phpt b/ext/mbstring/tests/024.phpt new file mode 100644 index 0000000000..2637e2df48 --- /dev/null +++ b/ext/mbstring/tests/024.phpt @@ -0,0 +1,54 @@ +--TEST-- +mb_ereg_search() stuff +--SKIPIF-- +<?php include('skipif.inc'); ?> +function_exists('mb_ereg_search') or die("SKIP"); +--POST-- +--GET-- +--FILE-- +<?php include('024.inc'); ?> +--EXPECT-- +(EUC-JP) (10) ・∀ +(EUC-JP) (5) abcde +(EUC-JP) (14) abdeabcf +(EUC-JP) (22) abc +(EUC-JP) (31) abcd +(EUC-JP) (5) ∀・ +(EUC-JP) (10) ・∀ +(EUC-JP) (5) abcde +(EUC-JP) (14) abdeabcf +(EUC-JP) (22) abc +(EUC-JP) (31) abcd +(Shift_JIS) (10) ・∀ +(Shift_JIS) (5) abcde +(Shift_JIS) (14) abdeabcf +(Shift_JIS) (22) abc +(Shift_JIS) (31) abcd +(Shift_JIS) (5) ∀・ +(Shift_JIS) (10) ・∀ +(Shift_JIS) (5) abcde +(Shift_JIS) (14) abdeabcf +(Shift_JIS) (22) abc +(Shift_JIS) (31) abcd +(SJIS) (10) ・∀ +(SJIS) (5) abcde +(SJIS) (14) abdeabcf +(SJIS) (22) abc +(SJIS) (31) abcd +(SJIS) (5) ∀・ +(SJIS) (10) ・∀ +(SJIS) (5) abcde +(SJIS) (14) abdeabcf +(SJIS) (22) abc +(SJIS) (31) abcd +(UTF-8) (14) ・∀ +(UTF-8) (5) abcde +(UTF-8) (14) abdeabcf +(UTF-8) (22) abc +(UTF-8) (31) abcd +(UTF-8) (7) ∀・ +(UTF-8) (14) ・∀ +(UTF-8) (5) abcde +(UTF-8) (14) abdeabcf +(UTF-8) (22) abc +(UTF-8) (31) abcd |
