diff options
Diffstat (limited to '3rdparty/simplepie/tests/HTTPParserTest.php')
-rwxr-xr-x | 3rdparty/simplepie/tests/HTTPParserTest.php | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/3rdparty/simplepie/tests/HTTPParserTest.php b/3rdparty/simplepie/tests/HTTPParserTest.php new file mode 100755 index 000000000..217f53bd5 --- /dev/null +++ b/3rdparty/simplepie/tests/HTTPParserTest.php @@ -0,0 +1,84 @@ +<?php +/** + * HTTP parsing tests + * + * SimplePie + * + * A PHP-Based RSS and Atom Feed Framework. + * Takes the hard work out of managing a complete RSS/Atom solution. + * + * Copyright (c) 2004-2012, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * * Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * * Neither the name of the SimplePie Team nor the names of its contributors may be used + * to endorse or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS + * AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * @package SimplePie + * @version 1.3.1 + * @copyright 2004-2011 Ryan Parman, Geoffrey Sneddon, Ryan McCue + * @author Ryan Parman + * @author Geoffrey Sneddon + * @author Ryan McCue + * @link http://simplepie.org/ SimplePie + * @license http://www.opensource.org/licenses/bsd-license.php BSD License + */ + +require_once dirname(__FILE__) . '/bootstrap.php'; + +class HTTPParserTest extends PHPUnit_Framework_TestCase +{ + public static function chunkedProvider() + { + return array( + array( + "25\r\nThis is the data in the first chunk\r\n\r\n1A\r\nand this is the second one\r\n0\r\n", + "This is the data in the first chunk\r\nand this is the second one" + ), + array( + "02\r\nab\r\n04\r\nra\nc\r\n06\r\nadabra\r\n0\r\nnothing\n", + "abra\ncadabra" + ), + array( + "02\r\nab\r\n04\r\nra\nc\r\n06\r\nadabra\r\n0c\r\n\nall we got\n", + "abra\ncadabra\nall we got\n" + ), + ); + } + + /** + * @dataProvider chunkedProvider + */ + public function testChunkedNormal($data, $expected) + { + $data = "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\nTransfer-Encoding: chunked\r\n\r\n" . $data; + $parser = new SimplePie_HTTP_Parser($data); + $this->assertTrue($parser->parse()); + $this->assertEquals(1.1, $parser->http_version); + $this->assertEquals(200, $parser->status_code); + $this->assertEquals('OK', $parser->reason); + $this->assertEquals(array('content-type' => 'text/plain'), $parser->headers); + $this->assertEquals($expected, $parser->body); + + } +}
\ No newline at end of file |