summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMoriyoshi Koizumi <moriyoshi@php.net>2002-10-07 18:02:05 +0000
committerMoriyoshi Koizumi <moriyoshi@php.net>2002-10-07 18:02:05 +0000
commita0f61c9c51bad28cdc7bab67c40ceaa77d219df7 (patch)
tree82837ce16b1f36d0232761d32d0de7a9318a1538
parent2e1d931c66e7f518f8d2360b0d57b90e353f2763 (diff)
downloadphp-git-a0f61c9c51bad28cdc7bab67c40ceaa77d219df7.tar.gz
Added test cases for mbregex
-rw-r--r--ext/mbstring/tests/021.inc4
-rw-r--r--ext/mbstring/tests/021.phpt13
-rw-r--r--ext/mbstring/tests/022.inc25
-rw-r--r--ext/mbstring/tests/022.phpt20
-rw-r--r--ext/mbstring/tests/023.inc21
-rw-r--r--ext/mbstring/tests/023.phpt22
-rw-r--r--ext/mbstring/tests/024.inc24
-rw-r--r--ext/mbstring/tests/024.phpt54
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