diff --git a/_test/cases/inc/safefn.test.php b/_test/cases/inc/safefn.test.php new file mode 100644 index 0000000000000000000000000000000000000000..fb0d812d75a11540477de20177b75cc899e9c871 --- /dev/null +++ b/_test/cases/inc/safefn.test.php @@ -0,0 +1,33 @@ +<?php +// use no mbstring help here +if(!defined('UTF8_NOMBSTRING')) define('UTF8_NOMBSTRING',1); +require_once DOKU_INC.'inc/utf8.php'; +require_once DOKU_INC.'inc/SafeFN.class.php'; + +class safeFN_test extends UnitTestCase { + + + function test1(){ + // we test multiple cases here - format: string, repl, additional, test + $tests = array(); + $tests[] = array('asciistring','asciistring'); + $tests[] = array('ascii-_/.string','ascii-_/.string'); + $tests[] = array('AName','%x%1a.ame'); + $tests[] = array('A Name','%x%0%1a.ame'); + $tests[] = array('Another...Name','%x.nother...%1a.ame'); + $tests[] = array('Aß∂ƒName','%x%5b%6oy%aa%1a.ame'); + $tests[] = array('A%ß-∂_.Æ’Name','%x%%5b.-%6oy._.%aa%1a.ame'); + $tests[] = array('A%%ß-∂_.Æ’Name','%x%%%5b.-%6oy._.%aa%1a.ame'); + $tests[] = array('ë°ì´í„°ë„ 함께 ë³µì›ë©ë‹ˆë‹¤. ê°•ë ¥í•œ','%zf4%13dg%15ao%zhg%0%164o%yig%0%11at%138w%zk9%zag%zb8..%0%xyt%10cl%164c'); + $tests[] = array('ÑовмеÑтимаÑ','%td%ta%sy%t8%t1%td%te%t4%t8%sw%tr'); + $tests[] = array('нехватка_файлового_проÑтранÑтва_на_Ñервере_p0-squid.some.domain.1270211897.txt.gz','%t9%t1%th%sy%sw%te%t6%sw._%tg%sw%t5%t7%ta%sy%ta%sz%ta._%tb%tc%ta%td%te%tc%sw%t9%td%te%sy%sw._%t9%sw._%td%t1%tc%sy%t1%tc%t1._p0-squid.some.domain.1270211897.txt.gz'); + + foreach($tests as $test){ + list($utf8,$safe) = $test; + $this->assertEqual(SafeFN::encode($utf8),$safe); + $this->assertEqual(SafeFN::decode($safe),$utf8); + } + } + +} +//Setup VIM: ex: et ts=4 enc=utf-8 :