summaryrefslogtreecommitdiffstats
path: root/3rdparty/simplepie/tests/HTTPParserTest.php
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/simplepie/tests/HTTPParserTest.php')
-rwxr-xr-x3rdparty/simplepie/tests/HTTPParserTest.php84
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