
Separated HandshakeNegotiator into HttpRequestParser and VersionManager Moved WsConnection to Version specific Connection
48 lines
1.5 KiB
PHP
48 lines
1.5 KiB
PHP
<?php
|
|
namespace Ratchet\Tests\WebSocket;
|
|
use Ratchet\WebSocket\HttpRequestParser;
|
|
use Ratchet\Tests\Mock\Connection as ConnectionStub;
|
|
|
|
/**
|
|
* @covers Ratchet\WebSocket\HttpRequestParser
|
|
*/
|
|
class HttpRequestParserTest extends \PHPUnit_Framework_TestCase {
|
|
protected $parser;
|
|
|
|
public function setUp() {
|
|
$this->parser = new HttpRequestParser;
|
|
}
|
|
|
|
public function headersProvider() {
|
|
return array(
|
|
array(false, "GET / HTTP/1.1\r\nHost: socketo.me\r\n")
|
|
, array(true, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n")
|
|
, array(true, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\n1")
|
|
, array(true, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖")
|
|
, array(true, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie✖\r\n\r\n")
|
|
, array(true, "GET / HTTP/1.1\r\nHost: socketo.me\r\n\r\nHixie\r\n")
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @dataProvider headersProvider
|
|
*/
|
|
public function testIsEom($expected, $message) {
|
|
$this->assertEquals($expected, $this->parser->isEom($message));
|
|
}
|
|
|
|
|
|
public function testBufferOverflowResponse() {
|
|
$conn = new ConnectionStub;
|
|
|
|
$this->parser->maxSize = 20;
|
|
|
|
$this->assertNull($this->parser->onMessage($conn, "GET / HTTP/1.1\r\n"));
|
|
|
|
$this->setExpectedException('OverflowException');
|
|
|
|
$this->parser->onMessage($conn, "Header-Is: Too Big");
|
|
|
|
//$this->assertGreaterThan(400, $this->parser->onMessage($conn, "Header-Is: Too Big")->getStatusCode());
|
|
}
|
|
} |