45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.4 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");
 | |
|     }
 | |
| } | 
