diff options
author | Tom N Harris <tnharris@whoopdedo.org> | 2007-02-02 08:05:09 +0100 |
---|---|---|
committer | Tom N Harris <tnharris@whoopdedo.org> | 2007-02-02 08:05:09 +0100 |
commit | 9f9fb0e5005d537bbf9f4ddea631f5e9c5e40175 (patch) | |
tree | 18bac6ba5ef455ac8d99f592931002cc00b94af8 /_test | |
parent | 54e95700e0c482e0db73d64cc5a10bc56841fc2c (diff) | |
download | rpg-9f9fb0e5005d537bbf9f4ddea631f5e9c5e40175.tar.gz rpg-9f9fb0e5005d537bbf9f4ddea631f5e9c5e40175.tar.bz2 |
Encode/Decode numeric HTML entities correctly.
utf8_tohtml handles all codepoints, and the inverse
function, utf8_unhtml, is added.
darcs-hash:20070202070509-6942e-09ed9dc37f1469055a7c04d44044768e160d60e6.gz
Diffstat (limited to '_test')
-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 : |