コード例 #1
0
 /**
  * simple read test from buffer
  * put couple of messages in buffer and try to read them
  */
 public function testConnectionRad()
 {
     $connection = new Connection(new Stomp\ConnectionFactory\NullFactory());
     $this->assertFalse($connection->_bufferContainsMessage(), 'Do not expect any messages in connection');
     $frame1 = new Stomp\Message\Bytes("lorem ipsum \n\n  dolore sitamet", array('foo' => 'meta'));
     $connection->_appendToBuffer("\n\n");
     $connection->_appendToBuffer($frame1->__toString());
     $connection->_appendToBuffer("\n\n\n");
     $frame2 = new Stomp\Message\Bytes("lorem forem \n\n, none ", array('beta' => 'treu', 'mod' => false));
     $connection->_appendToBuffer($frame2->__toString());
     $this->assertTrue($connection->_bufferContainsMessage(), 'Expect to have frame to read.');
     $result = $connection->readFrame();
     $this->assertInstanceOf('CentralDesktop\\Stomp\\Frame', $result);
     $this->assertEquals($frame1->body, $result->body);
     $this->assertTrue($connection->_bufferContainsMessage(), "We should have some message in buffer");
     $connection->readFrame();
     $this->assertFalse($connection->_bufferContainsMessage(), 'Now buffer should be empty');
 }
コード例 #2
0
 public function testProtoHandling()
 {
     $iters = 5;
     $bytes = [10, 4, 49, 48, 50, 52, 24, 50];
     //        $bytes   = [\004, 1, 0, 2, 4, \030, 2];
     $body = implode(array_map("chr", $bytes));
     $headers = ['ack' => 'ID\\ctest-35459-1423180748247-4597\\c1', 'message-id' => 'ID\\cCD-test-59238-1423527427959-7\\c1\\c2\\c1\\c1', 'destination' => '/queue/test', 'timestamp' => '1423527680019', 'expires' => '1423527700019', 'subsc ription' => '0', 'persistent' => 'true', 'content-length' => '8', 'priority' => '4', 'reply-to' => '/remote-temp-queue/ID\\cCD-test-59238-1423527427959-7\\c1\\c1', 'correlation-id' => 'Camel-ID -CD-test-cdlocal-59236-1423527427164-0-7'];
     $frame = new Stomp\Message\Bytes($body, $headers);
     $s_frame = $frame->__toString();
     $stomp = $this->stomp;
     foreach (range(0, $iters) as $i) {
         $stomp->_appendToBuffer($s_frame);
     }
     foreach (range(0, $iters) as $i) {
         $frame = $stomp->readFrame();
         $body = $frame->body;
         $this->assertEquals(count($bytes), mb_strlen($body, '8bit'), "byte count doesn't match on iter {$i}");
         $this->assertEquals($body, $frame->body, "body doesn't match on iter {$i}");
     }
 }