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_unicode_test extends DokuWikiTest { 7f8369d7dSTobias Sarnowski 8f8369d7dSTobias Sarnowski function test_from_1byte(){ 9f8369d7dSTobias Sarnowski $in = 'a'; 10f8369d7dSTobias Sarnowski $out = array(97); 11*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::fromUtf8($in),$out); 12f8369d7dSTobias Sarnowski } 13f8369d7dSTobias Sarnowski 14f8369d7dSTobias Sarnowski function test_from_2byte(){ 15f8369d7dSTobias Sarnowski $in = "\xc3\xbc"; 16f8369d7dSTobias Sarnowski $out = array(252); 17*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::fromUtf8($in),$out); 18f8369d7dSTobias Sarnowski } 19f8369d7dSTobias Sarnowski 20f8369d7dSTobias Sarnowski function test_from_3byte(){ 21f8369d7dSTobias Sarnowski $in = "\xe2\x99\x8a"; 22f8369d7dSTobias Sarnowski $out = array(9802); 23*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::fromUtf8($in),$out); 24f8369d7dSTobias Sarnowski } 25f8369d7dSTobias Sarnowski 26f8369d7dSTobias Sarnowski function test_from_4byte(){ 27f8369d7dSTobias Sarnowski $in = "\xf4\x80\x80\x81"; 28f8369d7dSTobias Sarnowski $out = array(1048577); 29*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::fromUtf8($in),$out); 30f8369d7dSTobias Sarnowski } 31f8369d7dSTobias Sarnowski 32f8369d7dSTobias Sarnowski function test_to_1byte(){ 33f8369d7dSTobias Sarnowski $out = 'a'; 34f8369d7dSTobias Sarnowski $in = array(97); 35*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::toUtf8($in),$out); 36f8369d7dSTobias Sarnowski } 37f8369d7dSTobias Sarnowski 38f8369d7dSTobias Sarnowski function test_to_2byte(){ 39f8369d7dSTobias Sarnowski $out = "\xc3\xbc"; 40f8369d7dSTobias Sarnowski $in = array(252); 41*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::toUtf8($in),$out); 42f8369d7dSTobias Sarnowski } 43f8369d7dSTobias Sarnowski 44f8369d7dSTobias Sarnowski function test_to_3byte(){ 45f8369d7dSTobias Sarnowski $out = "\xe2\x99\x8a"; 46f8369d7dSTobias Sarnowski $in = array(9802); 47*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::toUtf8($in),$out); 48f8369d7dSTobias Sarnowski } 49f8369d7dSTobias Sarnowski 50f8369d7dSTobias Sarnowski function test_to_4byte(){ 51f8369d7dSTobias Sarnowski $out = "\xf4\x80\x80\x81"; 52f8369d7dSTobias Sarnowski $in = array(1048577); 53*8cbc5ee8SAndreas Gohr $this->assertEquals(\dokuwiki\Utf8\Unicode::toUtf8($in),$out); 54f8369d7dSTobias Sarnowski } 55f8369d7dSTobias Sarnowski 56f8369d7dSTobias Sarnowski} 57f8369d7dSTobias Sarnowski 58f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 : 59