moriyoshi               Mon Oct  7 14:02:05 2002 EDT

  Added files:                 
    /php4/ext/mbstring/tests    021.inc 021.phpt 022.inc 022.phpt 023.inc 
                                023.phpt 024.inc 024.phpt 
  Log:
  Added test cases for mbregex
  
  

Index: php4/ext/mbstring/tests/021.inc
+++ php4/ext/mbstring/tests/021.inc
<?php
        print mb_ereg_replace( ' ', '-', 'a b c d e' )."\n";
        print mb_ereg_replace( '([a-z]+)','[\\1]', 'abc def ghi' );
?>

Index: php4/ext/mbstring/tests/021.phpt
+++ php4/ext/mbstring/tests/021.phpt
--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]


Index: php4/ext/mbstring/tests/022.inc
+++ php4/ext/mbstring/tests/022.inc
<?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 );
        }
?>

Index: php4/ext/mbstring/tests/022.phpt
+++ php4/ext/mbstring/tests/022.phpt
--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

Index: php4/ext/mbstring/tests/023.inc
+++ php4/ext/mbstring/tests/023.inc
<?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 );
        }
?>

Index: php4/ext/mbstring/tests/023.phpt
+++ php4/ext/mbstring/tests/023.phpt
--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 うおか  きか をゐ

Index: php4/ext/mbstring/tests/024.inc
+++ php4/ext/mbstring/tests/024.inc
<?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' );
        }
?>

Index: php4/ext/mbstring/tests/024.phpt
+++ php4/ext/mbstring/tests/024.phpt
--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



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to