Mercurial > hg > rc1
view vendor/sabre/vobject/tests/VObject/Parser/QuotedPrintableTest.php @ 7:430dbd5346f7
vendor sabre as distributed
author | Charlie Root |
---|---|
date | Sat, 13 Jan 2018 09:06:10 -0500 |
parents | |
children |
line wrap: on
line source
<?php namespace Sabre\VObject\Parser; use Sabre\VObject\Reader; class QuotedPrintableTest extends \PHPUnit_Framework_TestCase { function testReadQuotedPrintableSimple() { $data = "BEGIN:VCARD\r\nLABEL;ENCODING=QUOTED-PRINTABLE:Aach=65n\r\nEND:VCARD"; $result = Reader::read($data); $this->assertInstanceOf('Sabre\\VObject\\Component', $result); $this->assertEquals('VCARD', $result->name); $this->assertEquals(1, count($result->children())); $this->assertEquals("Aachen", $this->getPropertyValue($result->label)); } function testReadQuotedPrintableNewlineSoft() { $data = "BEGIN:VCARD\r\nLABEL;ENCODING=QUOTED-PRINTABLE:Aa=\r\n ch=\r\n en\r\nEND:VCARD"; $result = Reader::read($data); $this->assertInstanceOf('Sabre\\VObject\\Component', $result); $this->assertEquals('VCARD', $result->name); $this->assertEquals(1, count($result->children())); $this->assertEquals("Aachen", $this->getPropertyValue($result->label)); } function testReadQuotedPrintableNewlineHard() { $data = "BEGIN:VCARD\r\nLABEL;ENCODING=QUOTED-PRINTABLE:Aachen=0D=0A=\r\n Germany\r\nEND:VCARD"; $result = Reader::read($data); $this->assertInstanceOf('Sabre\\VObject\\Component', $result); $this->assertEquals('VCARD', $result->name); $this->assertEquals(1, count($result->children())); $this->assertEquals("Aachen\r\nGermany", $this->getPropertyValue($result->label)); } function testReadQuotedPrintableCompatibilityMS() { $data = "BEGIN:VCARD\r\nLABEL;ENCODING=QUOTED-PRINTABLE:Aachen=0D=0A=\r\nDeutschland:okay\r\nEND:VCARD"; $result = Reader::read($data, Reader::OPTION_FORGIVING); $this->assertInstanceOf('Sabre\\VObject\\Component', $result); $this->assertEquals('VCARD', $result->name); $this->assertEquals(1, count($result->children())); $this->assertEquals("Aachen\r\nDeutschland:okay", $this->getPropertyValue($result->label)); } function testReadQuotesPrintableCompoundValues() { $data = <<<VCF BEGIN:VCARD VERSION:2.1 N:Doe;John;;; FN:John Doe ADR;WORK;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;;M=C3=BCnster = Str. 1;M=C3=BCnster;;48143;Deutschland END:VCARD VCF; $result = Reader::read($data, Reader::OPTION_FORGIVING); $this->assertEquals(array( '','','Münster Str. 1','Münster','','48143','Deutschland' ), $result->ADR->getParts()); } private function getPropertyValue(\Sabre\VObject\Property $property) { return (string)$property; /* $param = $property['encoding']; if ($param !== null) { $encoding = strtoupper((string)$param); if ($encoding === 'QUOTED-PRINTABLE') { $value = quoted_printable_decode($value); } else { throw new Exception(); } } $param = $property['charset']; if ($param !== null) { $charset = strtoupper((string)$param); if ($charset !== 'UTF-8') { $value = mb_convert_encoding($value, 'UTF-8', $charset); } } else { $value = StringUtil::convertToUTF8($value); } return $value; */ } }