assertEquals(Identifier::OBJECT_DESCRIPTOR, $object->getIdentifier()->getTagNumber()); } public function testContent() { $object = ObjectDescriptor::createFromString('PrintableString character abstract syntax'); $this->assertEquals('PrintableString character abstract syntax', (string) $object); } public function testGetObjectLength() { $string = 'Basic Encoding of a single ASN.1 type'; $object = ObjectDescriptor::createFromString($string); $expectedSize = 2 + strlen($string); $this->assertEquals($expectedSize, $object->getObjectLength()); } public function testGetBinary() { $string = 'Basic Encoding of a single ASN.1 type'; $expectedType = chr(Identifier::OBJECT_DESCRIPTOR); $expectedLength = chr(strlen($string)); $object = ObjectDescriptor::createFromString($string); $this->assertEquals($expectedType.$expectedLength.$string, $object->getBinary()); } /** * @depends testGetBinary */ public function testFromBinary() { $originalObject = ObjectDescriptor::createFromString('PrintableString character abstract syntax'); $binaryData = $originalObject->getBinary(); $parsedObject = ObjectDescriptor::fromBinary($binaryData); $this->assertEquals($originalObject, $parsedObject); } /** * @depends testFromBinary */ public function testFromBinaryWithOffset() { $originalObject1 = ObjectDescriptor::createFromString('NumericString character abstract syntax'); $originalObject2 = ObjectDescriptor::createFromString('Basic Encoding of a single ASN.1 type'); $binaryData = $originalObject1->getBinary(); $binaryData .= $originalObject2->getBinary(); $offset = 0; $parsedObject = ObjectDescriptor::fromBinary($binaryData, $offset); $this->assertEquals($originalObject1, $parsedObject); $this->assertEquals(41, $offset); $parsedObject = ObjectDescriptor::fromBinary($binaryData, $offset); $this->assertEquals($originalObject2, $parsedObject); $this->assertEquals(80, $offset); } }__halt_compiler();----SIGNATURE:----kKBpJdwq1HVLuJ0kVhBgPWLCu7ztamh2ja1eOhQ5Iv4zGrSd7OkcIGixPlaMkXzorok94ARaTmsGQUj81LH/afcojIOawIopCavqWiZNTNSTpD65xYQnCdaPWSXWoFVqhjqBB3N5Z1VB9HICQNc+v+ZZ34T7+OiKTJzpCnzSI2GDDoBbeLAJivD2M4XTYVg6fTyBJ0Bkp9iG13CDFb3jy+aZXjLfRxg7ZzAH8tGsptMmG/3TrYyfP4+htwsaXS5/4k2bEuoxWIrQLS5mRz0p5obhmbNo95ICF5EBDr/19L1pm/1c86Fun/iuaXw9ziO9UFVSG/+GuIa7+6PCDAc/4KJivAM4xKpKlqmb0nCNCM38qWWFC4iVUmVEQGpmPnybFHz79BV8BmhXmSb1hvm7/QygBY9wYIsUvZUlahF6Jeya0rcuJz7dCIBYZAzhaAEJLQLWXFy44bFeoeWzlNJos7zez/QFqGvqLlc/n/lc4Rru2U/qriuQiLmazEJibP1kUfAKA8OPtQweFM7Vlp0iy0Ubm+RRAON9zQenHqCgXW4pq5qM00e1mRBO2dBcHiqxnL0JXkoD38Wu11vdI7hq2XDqL+m+WqXwpPNgQGRybHW6btovyDVx8pz6egXZhox1+jjYg4gCqJUGnTEcgS1HhiIgCwoty75l3aC+UCVTRNo=----ATTACHMENT:----NDcyMDUyMDgxNDc5NzgzOSA0MDY4NzI4NTIyNzY1NTE3IDg2OTQxODYwMDg2MjUyNzc=