diff options
author | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
---|---|---|
committer | Guy Brand <gb@unistra.fr> | 2012-09-10 17:04:45 +0200 |
commit | 0f8ac4e8c5872a6b68b350f96a9ecde0291edefa (patch) | |
tree | ad7938bb4143d5e5a38fd7a8d131e4171aec657d /_test/tests/inc/utf8_substr.test.php | |
parent | 58ec8fa9128e4581749955de87530f432e387588 (diff) | |
parent | b31fcef02fd24b3e746c9618e77152c7b84c2f2a (diff) | |
download | rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.gz rpg-0f8ac4e8c5872a6b68b350f96a9ecde0291edefa.tar.bz2 |
Merge branch 'master' into stable
Diffstat (limited to '_test/tests/inc/utf8_substr.test.php')
-rw-r--r-- | _test/tests/inc/utf8_substr.test.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/_test/tests/inc/utf8_substr.test.php b/_test/tests/inc/utf8_substr.test.php new file mode 100644 index 000000000..758e8c9d4 --- /dev/null +++ b/_test/tests/inc/utf8_substr.test.php @@ -0,0 +1,42 @@ +<?php +// use no mbstring help here +if(!defined('UTF8_NOMBSTRING')) define('UTF8_NOMBSTRING',1); + +class utf8_substr_test extends DokuWikiTest { + + + function test1(){ + // we test multiple cases here - format: in, offset, length, out + $tests = array(); + $tests[] = array('asciistring',2,null,'ciistring'); + $tests[] = array('asciistring',2,4,'ciis'); + $tests[] = array('asciistring',-4,null,'ring'); + $tests[] = array('asciistring',2,-4,'ciist'); + $tests[] = array('asciistring',-6,-2,'stri'); + + $tests[] = array('живπά우리をあöä',2,null,'вπά우리をあöä'); + $tests[] = array('живπά우리をあöä',2,4,'вπά우'); + $tests[] = array('живπά우리をあöä',-4,null,'をあöä'); + $tests[] = array('живπά우리をあöä',2,-4,'вπά우리'); + $tests[] = array('живπά우리をあöä',-6,-2,'우리をあ'); + + foreach($tests as $test){ + $this->assertEquals(utf8_substr($test[0],$test[1],$test[2]),$test[3]); + } + } + + function test2_bug891() { + // we test multiple cases here - format: in, offset, length, out + $tests = array(); + + $str = str_repeat('в',66000).'@@'; + $tests[] = array($str, 65600, 1, 'в'); + $tests[] = array($str,0,66002,$str); + + foreach($tests as $test){ + $this->assertEquals(utf8_substr($test[0],$test[1],$test[2]),$test[3]); + } + } + +} +//Setup VIM: ex: et ts=4 : |