xref: /dokuwiki/_test/tests/inc/utf8_unicode.test.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
1*f8369d7dSTobias Sarnowski<?php
2*f8369d7dSTobias Sarnowski
3*f8369d7dSTobias Sarnowskirequire_once DOKU_INC.'inc/utf8.php';
4*f8369d7dSTobias Sarnowski
5*f8369d7dSTobias Sarnowski// use no mbstring help here
6*f8369d7dSTobias Sarnowskiif(!defined('UTF8_NOMBSTRING')) define('UTF8_NOMBSTRING',1);
7*f8369d7dSTobias Sarnowski
8*f8369d7dSTobias Sarnowskiclass utf8_unicode_test extends DokuWikiTest {
9*f8369d7dSTobias Sarnowski
10*f8369d7dSTobias Sarnowski    function test_from_1byte(){
11*f8369d7dSTobias Sarnowski        $in  = 'a';
12*f8369d7dSTobias Sarnowski        $out = array(97);
13*f8369d7dSTobias Sarnowski        $this->assertEquals(utf8_to_unicode($in),$out);
14*f8369d7dSTobias Sarnowski    }
15*f8369d7dSTobias Sarnowski
16*f8369d7dSTobias Sarnowski    function test_from_2byte(){
17*f8369d7dSTobias Sarnowski        $in  = "\xc3\xbc";
18*f8369d7dSTobias Sarnowski        $out = array(252);
19*f8369d7dSTobias Sarnowski        $this->assertEquals(utf8_to_unicode($in),$out);
20*f8369d7dSTobias Sarnowski    }
21*f8369d7dSTobias Sarnowski
22*f8369d7dSTobias Sarnowski    function test_from_3byte(){
23*f8369d7dSTobias Sarnowski        $in  = "\xe2\x99\x8a";
24*f8369d7dSTobias Sarnowski        $out = array(9802);
25*f8369d7dSTobias Sarnowski        $this->assertEquals(utf8_to_unicode($in),$out);
26*f8369d7dSTobias Sarnowski    }
27*f8369d7dSTobias Sarnowski
28*f8369d7dSTobias Sarnowski    function test_from_4byte(){
29*f8369d7dSTobias Sarnowski        $in  = "\xf4\x80\x80\x81";
30*f8369d7dSTobias Sarnowski        $out = array(1048577);
31*f8369d7dSTobias Sarnowski        $this->assertEquals(utf8_to_unicode($in),$out);
32*f8369d7dSTobias Sarnowski    }
33*f8369d7dSTobias Sarnowski
34*f8369d7dSTobias Sarnowski    function test_to_1byte(){
35*f8369d7dSTobias Sarnowski        $out  = 'a';
36*f8369d7dSTobias Sarnowski        $in = array(97);
37*f8369d7dSTobias Sarnowski        $this->assertEquals(unicode_to_utf8($in),$out);
38*f8369d7dSTobias Sarnowski    }
39*f8369d7dSTobias Sarnowski
40*f8369d7dSTobias Sarnowski    function test_to_2byte(){
41*f8369d7dSTobias Sarnowski        $out  = "\xc3\xbc";
42*f8369d7dSTobias Sarnowski        $in = array(252);
43*f8369d7dSTobias Sarnowski        $this->assertEquals(unicode_to_utf8($in),$out);
44*f8369d7dSTobias Sarnowski    }
45*f8369d7dSTobias Sarnowski
46*f8369d7dSTobias Sarnowski    function test_to_3byte(){
47*f8369d7dSTobias Sarnowski        $out  = "\xe2\x99\x8a";
48*f8369d7dSTobias Sarnowski        $in = array(9802);
49*f8369d7dSTobias Sarnowski        $this->assertEquals(unicode_to_utf8($in),$out);
50*f8369d7dSTobias Sarnowski    }
51*f8369d7dSTobias Sarnowski
52*f8369d7dSTobias Sarnowski    function test_to_4byte(){
53*f8369d7dSTobias Sarnowski        $out  = "\xf4\x80\x80\x81";
54*f8369d7dSTobias Sarnowski        $in = array(1048577);
55*f8369d7dSTobias Sarnowski        $this->assertEquals(unicode_to_utf8($in),$out);
56*f8369d7dSTobias Sarnowski    }
57*f8369d7dSTobias Sarnowski
58*f8369d7dSTobias Sarnowski}
59*f8369d7dSTobias Sarnowski
60*f8369d7dSTobias Sarnowski//Setup VIM: ex: et ts=4 :
61