/**
  * @dataProvider flagsProvider
  */
 public function testSetFlags($flags, $tagUpdate, $crcData, $tagRestrictions)
 {
     $this->extendedHeader->setFlags($flags);
     $this->assertSame($flags, $this->extendedHeader->getFlags());
     $this->assertSame($tagUpdate, $this->extendedHeader->hasTagUpdate());
     $this->assertSame($crcData, $this->extendedHeader->hasCrcData());
     $this->assertSame($tagRestrictions, $this->extendedHeader->hasTagRestrictions());
 }
Beispiel #2
0
 /**
  * @return ExtendedHeader
  */
 private function readExtendedHeader()
 {
     $extendedHeader = new ExtendedHeader();
     $extendedHeader->setSize($this->getBinaryReader()->readUInt8WithDiscardedMsb(4));
     $extendedHeader->setFlagBytesNumber($this->getBinaryReader()->readUInt8());
     $extendedHeader->setFlags($this->getBinaryReader()->readBytes($extendedHeader->getFlagBytesNumber()));
     if ($extendedHeader->hasTagUpdate()) {
         $tagUpdateFlagDataLength = $this->getBinaryReader()->readUInt8();
         if ($tagUpdateFlagDataLength) {
             //left if this flag will get ever data attached to it
         }
     }
     if ($extendedHeader->hasCrcData()) {
         $crcDataFlagDataLength = $this->getBinaryReader()->readUInt8();
         if ($crcDataFlagDataLength) {
             $extendedHeader->setCrcData($this->getBinaryReader()->readUInt8WithDiscardedMsb($crcDataFlagDataLength));
         }
     }
     if ($extendedHeader->hasTagRestrictions()) {
         $tagRestrictionsFlagDataLength = $this->getBinaryReader()->readUInt8();
         if ($tagRestrictionsFlagDataLength) {
             $extendedHeader->getTagRestrictions()->setFlags($this->getBinaryReader()->readUInt8());
         }
     }
     return $extendedHeader;
 }