1<?php
2
3namespace Sabre\VObject;
4
5use PHPUnit\Framework\TestCase;
6
7class StringUtilTest extends TestCase
8{
9    public function testNonUTF8()
10    {
11        $string = StringUtil::isUTF8(chr(0xbf));
12
13        $this->assertEquals(false, $string);
14    }
15
16    public function testIsUTF8()
17    {
18        $string = StringUtil::isUTF8('I �� SabreDAV');
19
20        $this->assertEquals(true, $string);
21    }
22
23    public function testUTF8ControlChar()
24    {
25        $string = StringUtil::isUTF8(chr(0x00));
26
27        $this->assertEquals(false, $string);
28    }
29
30    public function testConvertToUTF8nonUTF8()
31    {
32        $string = StringUtil::convertToUTF8(chr(0xbf));
33
34        $this->assertEquals(utf8_encode(chr(0xbf)), $string);
35    }
36
37    public function testConvertToUTF8IsUTF8()
38    {
39        $string = StringUtil::convertToUTF8('I �� SabreDAV');
40
41        $this->assertEquals('I �� SabreDAV', $string);
42    }
43
44    public function testConvertToUTF8ControlChar()
45    {
46        $string = StringUtil::convertToUTF8(chr(0x00));
47
48        $this->assertEquals('', $string);
49    }
50}
51