Subversion Repositories php-qbpwcf

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 liveuser 1
<?php
2
 
3
namespace Ratchet\RFC6455\Test\Unit\Messaging;
4
 
5
use Ratchet\RFC6455\Messaging\Frame;
6
use Ratchet\RFC6455\Messaging\Message;
7
use PHPUnit\Framework\TestCase;
8
 
9
/**
10
 * @covers Ratchet\RFC6455\Messaging\Message
11
 */
12
class MessageTest extends TestCase {
13
    /** @var Message */
14
    protected $message;
15
 
16
    public function setUp() {
17
        $this->message = new Message;
18
    }
19
 
20
    public function testNoFrames() {
21
        $this->assertFalse($this->message->isCoalesced());
22
    }
23
 
24
    public function testNoFramesOpCode() {
25
        $this->setExpectedException('UnderflowException');
26
        $this->message->getOpCode();
27
    }
28
 
29
    public function testFragmentationPayload() {
30
        $a = 'Hello ';
31
        $b = 'World!';
32
        $f1 = new Frame($a, false);
33
        $f2 = new Frame($b, true, Frame::OP_CONTINUE);
34
        $this->message->addFrame($f1)->addFrame($f2);
35
        $this->assertEquals(strlen($a . $b), $this->message->getPayloadLength());
36
        $this->assertEquals($a . $b, $this->message->getPayload());
37
    }
38
 
39
    public function testUnbufferedFragment() {
40
        $this->message->addFrame(new Frame('The quick brow', false));
41
        $this->setExpectedException('UnderflowException');
42
        $this->message->getPayload();
43
    }
44
 
45
    public function testGetOpCode() {
46
        $this->message
47
            ->addFrame(new Frame('The quick brow', false, Frame::OP_TEXT))
48
            ->addFrame(new Frame('n fox jumps ov', false, Frame::OP_CONTINUE))
49
            ->addFrame(new Frame('er the lazy dog', true, Frame::OP_CONTINUE))
50
        ;
51
        $this->assertEquals(Frame::OP_TEXT, $this->message->getOpCode());
52
    }
53
 
54
    public function testGetUnBufferedPayloadLength() {
55
        $this->message
56
            ->addFrame(new Frame('The quick brow', false, Frame::OP_TEXT))
57
            ->addFrame(new Frame('n fox jumps ov', false, Frame::OP_CONTINUE))
58
        ;
59
        $this->assertEquals(28, $this->message->getPayloadLength());
60
    }
61
}