Esempio n. 1
0
 /**
  * test basic methods
  */
 public function testBasicMethods()
 {
     $testData = new AmfTestData();
     $emptyPacket = new Amfphp_Core_Amf_Packet();
     /*
               template
      //write
               $serializer = new AmfSerializerWrapper($emptyPacket);
               $serializer->write($testData->d);
               $serialized = $serializer->getOutput();
               $expectedSerialized = $testData->s;
               $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     */
     //writeByte
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeByte($testData->dByte);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sByte;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeInt
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeInt($testData->dInt);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sInt;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeLong
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeLong($testData->dLong);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sLong;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeDouble
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeDouble($testData->dDouble);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sDouble;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeUtf
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeUtf($testData->dUtf);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sUtf;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeLongUtf
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeLongUtf($testData->dLongUtf);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sLongUtf;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeNumber
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeNumber($testData->dNumber);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sNumber;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeBoolean
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeBoolean($testData->dBoolean);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sBoolean;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeString (short string)
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeString($testData->dString);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sString;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeArrayOrObject (Object)
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeArrayOrObject($testData->dObject);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sObject;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeNull
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeNull();
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sNull;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeUndefined
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeUndefined($testData->dUndefined);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sUndefined;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeReference
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeReference($testData->dReference);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sReference;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeArrayOrObject (EcmaArray)
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeArrayOrObject($testData->dEcmaArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sEcmaArray;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeObjectEnd
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeObjectEnd();
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sObjectEnd;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeArrayOrObject (strict array)
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeArrayOrObject($testData->dStrictArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sStrictArray;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeDate
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeDate($testData->dDate);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sDate;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeString (long string)
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeString($testData->dLongString);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sLongString;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeXml
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeXml($testData->dXml);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sXml;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
     //writeTypedObject
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeTypedObject($testData->dTypedObject);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sTypedObject;
     $this->assertEquals(bin2hex($expectedSerialized), bin2hex($serialized));
 }
 /**
  * test basic methods
  */
 public function testBasicMethods()
 {
     $testData = new Amf3TestData();
     $emptyPacket = new Amfphp_Core_Amf_Packet();
     $emptyPacket->amfVersion = Amfphp_Core_Amf_Constants::AMF3_ENCODING;
     /*
               template
      //write
               $serializer = new AmfSerializerWrapper($emptyPacket);
               $serializer->write($testData->d);
               $serialized = $serializer->getOutput();
               $expectedSerialized = $testData->s;
               $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     */
     //undefined
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Undefined();
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sUndefined;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //null
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Null();
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sNull;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //false
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Bool(false);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sFalse;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //true
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Bool(true);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sTrue;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //integer
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Number($testData->dInt1);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sInt1;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Number($testData->dInt2);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sInt2;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //double
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Number($testData->dDouble);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sDouble;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //string
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3String($testData->dEmptyString);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sEmptyString;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3String($testData->dString);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sString;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3String($testData->dString);
     $serializer->writeAmf3String($testData->dString);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sStringTwice;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //xml
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Xml($testData->dXml);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sXml;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //xml document
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3XmlDocument($testData->dXmlDocument);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sXmlDocument;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //date
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Date($testData->dDate);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sDate;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //array
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Array($testData->dEmptyArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sEmptyArray;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Array($testData->dDenseArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sDenseArray;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3Array($testData->dMixedArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sMixedArray;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //object
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3TypedObject($testData->dObject);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sObject;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //ByteArray
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAmf3ByteArray($testData->dByteArray);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sByteArray;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //Vector int
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAMF3Vector($testData->dVectorInt);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sVectorInt;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //Vector uint
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAMF3Vector($testData->dVectorUint);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sVectorUint;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //Vector double
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAMF3Vector($testData->dVectorDouble);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sVectorDouble;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //Vector object
     $serializer = new AmfSerializerWrapper($emptyPacket);
     $serializer->writeAMF3Vector($testData->dVectorObject);
     $serialized = $serializer->getOutput();
     $expectedSerialized = $testData->sVectorObject;
     $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
     //dictionary
     /* not supported. 
        $serializer = new AmfSerializerWrapper($emptyPacket);
        $serializer->writeAMF3Dictionary($testData->dDictionary);
        $serialized = $serializer->getOutput();
        $expectedSerialized = $testData->sDictionary;
        $this->assertEquals(bin2hex($serialized), bin2hex($expectedSerialized));
         * 
         */
 }