assertEquals(Identifier::UTF8_STRING, $object->getType()); } public function testGetIdentifier() { $object = UTF8String::createFromString('Hello World'); $this->assertEquals(Identifier::UTF8_STRING, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = UTF8String::createFromString('Москва'); $this->assertEquals('Москва', (string) $object); } public function testGetObjectLength() { $string = 'Hello World'; $object = UTF8String::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Hello World'; $expectedType = chr(Identifier::UTF8_STRING); $expectedLength = chr(strlen($string)); $object = UTF8String::createFromString($string); $this->assertEquals($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = UTF8String::createFromString('Hello World'); $binaryData = $originalObject->getBinary(); $parsedObject = UTF8String::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = UTF8String::createFromString('Hello '); $originalObject2 = UTF8String::createFromString(' World'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = UTF8String::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(8, $offset); $parsedObject = UTF8String::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(16, $offset); } }__halt_compiler();----SIGNATURE:----pmzofnQjY8iChWgvzNnC4HGFj/Ctc4BTQguawgUxRg6F46Dphz6fu+0Y/plwLkoMqPUIe9mJY08ZBOVzhvXTrZtx19yukgheoN57p5pOkGhj2pZoYN8jjNiRbCYX+aED0EcxNMMMIjrDyI6mglU6bSy8tpaOk7LCssf5/wT+vU0exPIjhg2nkPfscKs8PIuid3vCyOmv5C9Arjn3wqELnaBI9VBF0htaBYWCS9qqWahBdpdSpAhlQS1BHWfRvQP4ooPG32ZdO+PXaJGKi7e/MY7Wbefw1f+FMLC7CvQkszLiq/8gCdY9FVIEMbM6I73ALmkYEFxIYlKDvgmLL4JKIm3dn88jVsoLWoleFvDPAcQ5CmWg6d4RUMMAYHlwYDg29yuCL5zEkbS0bbV66sRbKPQQnOxO8j6lqGOs25Q+sU1bFYDoVIVHs6KJl1DZumL74OGk6rKSFdyUhFxr7MaPhhpMIupRYpD+9frt8C3sB5FUP/VV9WjY9ajKYbcKzm9yZDKxWdvxf0a9hq2tExHld6BsHmjG8IZCNwM+pwJg02Bym9Gb5kr5BgiUoWpW9xrQl157TTwYa77ZbUQA8a2qVuslqwKGMkssVm1Hb2N+hPzEQj8DvJiKYxyZbdNUwI4sBTjFHyqmCb9sXjUD0QvWbOX0dWqar4WzVXdosJIMk0E=----ATTACHMENT:----NTQ4NTI2ODUwMjcyNzk3IDM2NjgzMTcwMTkwMTgyNzUgMTEzNjQzNTY4ODA2NDAxNw==