1f8369d7dSTobias Sarnowski<?php 2f8369d7dSTobias Sarnowski 3f8369d7dSTobias Sarnowski// use no mbstring help here 4f8369d7dSTobias Sarnowskiif(!defined('UTF8_NOMBSTRING')) define('UTF8_NOMBSTRING',1); 5f8369d7dSTobias Sarnowski 6f8369d7dSTobias Sarnowskiclass utf8_html_test extends DokuWikiTest { 7f8369d7dSTobias Sarnowski 8f8369d7dSTobias Sarnowski function test_from_1byte(){ 9f8369d7dSTobias Sarnowski $in = 'a'; 10f8369d7dSTobias Sarnowski $out = 'a'; 11*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::toHtml($in),$out); 12f8369d7dSTobias Sarnowski } 13f8369d7dSTobias Sarnowski 14f8369d7dSTobias Sarnowski function test_from_2byte(){ 15f8369d7dSTobias Sarnowski $in = "\xc3\xbc"; 16f8369d7dSTobias Sarnowski $out = 'ü'; 17*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::toHtml($in),$out); 18f8369d7dSTobias Sarnowski } 19f8369d7dSTobias Sarnowski 20f8369d7dSTobias Sarnowski function test_from_3byte(){ 21f8369d7dSTobias Sarnowski $in = "\xe2\x99\x8a"; 22f8369d7dSTobias Sarnowski $out = '♊'; 23*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::toHtml($in),$out); 24f8369d7dSTobias Sarnowski } 25f8369d7dSTobias Sarnowski 26f8369d7dSTobias Sarnowski function test_from_4byte(){ 27f8369d7dSTobias Sarnowski $in = "\xf4\x80\x80\x81"; 28f8369d7dSTobias Sarnowski $out = '􀀁'; 29*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::toHtml($in),$out); 30f8369d7dSTobias Sarnowski } 31f8369d7dSTobias Sarnowski 32f8369d7dSTobias Sarnowski function test_to_1byte(){ 33f8369d7dSTobias Sarnowski $out = 'a'; 34f8369d7dSTobias Sarnowski $in = 'a'; 35*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in),$out); 36f8369d7dSTobias Sarnowski } 37f8369d7dSTobias Sarnowski 38f8369d7dSTobias Sarnowski function test_to_2byte(){ 39f8369d7dSTobias Sarnowski $out = "\xc3\xbc"; 40f8369d7dSTobias Sarnowski $in = 'ü'; 41*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in),$out); 42f8369d7dSTobias Sarnowski } 43f8369d7dSTobias Sarnowski 44f8369d7dSTobias Sarnowski function test_to_3byte(){ 45f8369d7dSTobias Sarnowski $out = "\xe2\x99\x8a"; 46f8369d7dSTobias Sarnowski $in = '♊'; 47*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in),$out); 48f8369d7dSTobias Sarnowski } 49f8369d7dSTobias Sarnowski 50f8369d7dSTobias Sarnowski function test_to_4byte(){ 51f8369d7dSTobias Sarnowski $out = "\xf4\x80\x80\x81"; 52f8369d7dSTobias Sarnowski $in = '􀀁'; 53*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in),$out); 54f8369d7dSTobias Sarnowski } 55f8369d7dSTobias Sarnowski 56f8369d7dSTobias Sarnowski function test_without_entities(){ 57f8369d7dSTobias Sarnowski $out = '&#38;&#38;'; 58f8369d7dSTobias Sarnowski $in = '&#38;&amp;#38;'; 59*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in),$out); 60f8369d7dSTobias Sarnowski } 61f8369d7dSTobias Sarnowski 62f8369d7dSTobias Sarnowski function test_with_entities(){ 63f8369d7dSTobias Sarnowski $out = '&&#38;'; 64f8369d7dSTobias Sarnowski $in = '&#38;&amp;#38;'; 65*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Conversion::fromHtml($in,HTML_ENTITIES),$out); 66f8369d7dSTobias Sarnowski } 67f8369d7dSTobias Sarnowski 68f8369d7dSTobias Sarnowski} 69f8369d7dSTobias Sarnowski 70f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 : 71