diff options
Diffstat (limited to '_test/cases/inc')
-rw-r--r-- | _test/cases/inc/utf8_html.test.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/_test/cases/inc/utf8_html.test.php b/_test/cases/inc/utf8_html.test.php new file mode 100644 index 000000000..57c9df259 --- /dev/null +++ b/_test/cases/inc/utf8_html.test.php @@ -0,0 +1,72 @@ +<?php + +require_once DOKU_INC.'inc/utf8.php'; + +// use no mbstring help here +if(!defined('UTF8_NOMBSTRING')) define('UTF8_NOMBSTRING',1); + +class utf8_html_test extends UnitTestCase { + + function test_from_1byte(){ + $in = 'a'; + $out = 'a'; + $this->assertEqual(utf8_tohtml($in),$out); + } + + function test_from_2byte(){ + $in = "\xc3\xbc"; + $out = 'ü'; + $this->assertEqual(utf8_tohtml($in),$out); + } + + function test_from_3byte(){ + $in = "\xe2\x99\x8a"; + $out = '♊'; + $this->assertEqual(utf8_tohtml($in),$out); + } + + function test_from_4byte(){ + $in = "\xf4\x80\x80\x81"; + $out = '􀀁'; + $this->assertEqual(utf8_tohtml($in),$out); + } + + function test_to_1byte(){ + $out = 'a'; + $in = 'a'; + $this->assertEqual(utf8_unhtml($in),$out); + } + + function test_to_2byte(){ + $out = "\xc3\xbc"; + $in = 'ü'; + $this->assertEqual(utf8_unhtml($in),$out); + } + + function test_to_3byte(){ + $out = "\xe2\x99\x8a"; + $in = '♊'; + $this->assertEqual(utf8_unhtml($in),$out); + } + + function test_to_4byte(){ + $out = "\xf4\x80\x80\x81"; + $in = '􀀁'; + $this->assertEqual(utf8_unhtml($in),$out); + } + + function test_without_entities(){ + $out = '&#38;&#38;'; + $in = '&#38;&amp;#38;'; + $this->assertEqual(utf8_unhtml($in),$out); + } + + function test_with_entities(){ + $out = '&&#38;'; + $in = '&#38;&amp;#38;'; + $this->assertEqual(utf8_unhtml($in,HTML_ENTITIES),$out); + } + +} + +//Setup VIM: ex: et ts=4 enc=utf-8 : |