summaryrefslogtreecommitdiff
path: root/_test
diff options
context:
space:
mode:
authorTom N Harris <tnharris@whoopdedo.org>2007-02-02 08:05:09 +0100
committerTom N Harris <tnharris@whoopdedo.org>2007-02-02 08:05:09 +0100
commit9f9fb0e5005d537bbf9f4ddea631f5e9c5e40175 (patch)
tree18bac6ba5ef455ac8d99f592931002cc00b94af8 /_test
parent54e95700e0c482e0db73d64cc5a10bc56841fc2c (diff)
downloadrpg-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.php72
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 = '&#252;';
+ $this->assertEqual(utf8_tohtml($in),$out);
+ }
+
+ function test_from_3byte(){
+ $in = "\xe2\x99\x8a";
+ $out = '&#x264a;';
+ $this->assertEqual(utf8_tohtml($in),$out);
+ }
+
+ function test_from_4byte(){
+ $in = "\xf4\x80\x80\x81";
+ $out = '&#x100001;';
+ $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 = '&#252;';
+ $this->assertEqual(utf8_unhtml($in),$out);
+ }
+
+ function test_to_3byte(){
+ $out = "\xe2\x99\x8a";
+ $in = '&#x264a;';
+ $this->assertEqual(utf8_unhtml($in),$out);
+ }
+
+ function test_to_4byte(){
+ $out = "\xf4\x80\x80\x81";
+ $in = '&#x100001;';
+ $this->assertEqual(utf8_unhtml($in),$out);
+ }
+
+ function test_without_entities(){
+ $out = '&amp;#38;&amp;#38;';
+ $in = '&amp;#38;&#38;amp;#38;';
+ $this->assertEqual(utf8_unhtml($in),$out);
+ }
+
+ function test_with_entities(){
+ $out = '&#38;&amp;#38;';
+ $in = '&amp;#38;&#38;amp;#38;';
+ $this->assertEqual(utf8_unhtml($in,HTML_ENTITIES),$out);
+ }
+
+}
+
+//Setup VIM: ex: et ts=4 enc=utf-8 :