Mask unit test

This commit is contained in:
Chris Boden 2011-12-05 22:32:33 -05:00
parent 788b1f66cc
commit 5c5f9e558f

View File

@ -175,38 +175,23 @@ class FrameTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals(strlen($msg), $this->_frame->getPayloadLength()); $this->assertEquals(strlen($msg), $this->_frame->getPayloadLength());
} }
/**
* @todo Use a masking key generator when one is coded later
*/
protected function generateMask() { protected function generateMask() {
$mask = '';
for($i = 0; $i < 4; $i++) {
$mask .= chr(rand(0, 255));
} }
protected function getPacker() { return $mask;
return function($str) {
$packed = '';
for ($i = 0, $len = strlen($str); $i < $len; $i++) {
$packed .= pack('C', ord($str[$i]));
// $packed .= pack("c", ord(substr($str, $i, 1)));
}
return $packed;
};
} }
public function maskingKeyProvider() { public function maskingKeyProvider() {
$packer = $this->getPacker();
$mask_generator = function() use ($packer) {
$characters = 'abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890 !@#$%^&*() -=_+`~[]{}\|/,.<>';
$mask = '';
for ($i = 0; $i < 32; $i++) {
$mask .= $characters[mt_rand(0, strlen($characters) -1)];
}
return array($mask, $packer($mask));
};
return array( return array(
$mask_generator() array($this->generateMask())
, $mask_generator() , array($this->generateMask())
, $mask_generator() , array($this->generateMask())
); );
} }
@ -214,12 +199,10 @@ class FrameTest extends \PHPUnit_Framework_TestCase {
* @dataProvider maskingKeyProvider * @dataProvider maskingKeyProvider
* @todo I I wrote the dataProvider incorrectly, skpping for now * @todo I I wrote the dataProvider incorrectly, skpping for now
*/ */
public function testGetMaskingKey($mask, $bin) { public function testGetMaskingKey($mask) {
return $this->markTestIncomplete("I'm not packing the data properly in the provider, I think");
$this->_frame->addBuffer(static::convert($this->_firstByteFinText)); $this->_frame->addBuffer(static::convert($this->_firstByteFinText));
$this->_frame->addBuffer(static::convert($this->_secondByteMaskedSPL)); $this->_frame->addBuffer(static::convert($this->_secondByteMaskedSPL));
$this->_frame->addBuffer($bin); $this->_frame->addBuffer($mask);
$this->assertEquals($mask, $this->_frame->getMaskingKey()); $this->assertEquals($mask, $this->_frame->getMaskingKey());
} }