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