summaryrefslogtreecommitdiff
path: root/_test/tests/inc/utf8_substr.test.php
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2012-06-29 17:51:09 +0100
committerAnika Henke <anika@selfthinker.org>2012-06-29 17:51:09 +0100
commit0c06a181819249c6a4a2a6c60e13f739df1f2253 (patch)
tree859377c572d0acbfc520b02304ef515bf3aebbe0 /_test/tests/inc/utf8_substr.test.php
parentef7e36e4fd2a168977754f0aac1d855fb651f104 (diff)
parent5d0aaf958325f500ce69cfb79e69eb0d8f83fdeb (diff)
downloadrpg-0c06a181819249c6a4a2a6c60e13f739df1f2253.tar.gz
rpg-0c06a181819249c6a4a2a6c60e13f739df1f2253.tar.bz2
Merge branch 'master' of github.com:splitbrain/dokuwiki into frontend_improvements
Conflicts: lib/tpl/dokuwiki/css/basic.css
Diffstat (limited to '_test/tests/inc/utf8_substr.test.php')
-rw-r--r--_test/tests/inc/utf8_substr.test.php42
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 :