assertEquals( $output, getHeaderValues($input) ); } public function getHeaderValuesData() { return [ [ 'a', ['a'], ], [ 'a,b', ['a', 'b'], ], [ 'a, b', ['a', 'b'], ], [ ['a, b'], ['a', 'b'], ], [ ['a, b', 'c', 'd,e'], ['a', 'b', 'c', 'd', 'e'], ], ]; } /** * @dataProvider preferData */ public function testPrefer($input, $output) { $this->assertEquals( $output, parsePrefer($input) ); } public function preferData() { return [ [ 'foo; bar', ['foo' => true], ], [ 'foo; bar=""', ['foo' => true], ], [ 'foo=""; bar', ['foo' => true], ], [ 'FOO', ['foo' => true], ], [ 'respond-async', ['respond-async' => true], ], [ ['respond-async, wait=100', 'handling=lenient'], ['respond-async' => true, 'wait' => 100, 'handling' => 'lenient'], ], [ ['respond-async, wait=100, handling=lenient'], ['respond-async' => true, 'wait' => 100, 'handling' => 'lenient'], ], // Old values [ 'return-asynch, return-representation', ['respond-async' => true, 'return' => 'representation'], ], [ 'return-minimal', ['return' => 'minimal'], ], [ 'strict', ['handling' => 'strict'], ], [ 'lenient', ['handling' => 'lenient'], ], // Invalid token [ ['foo=%bar%'], [], ], ]; } public function testParseHTTPDate() { $times = [ 'Wed, 13 Oct 2010 10:26:00 GMT', 'Wednesday, 13-Oct-10 10:26:00 GMT', 'Wed Oct 13 10:26:00 2010', ]; $expected = 1286965560; foreach ($times as $time) { $result = parseDate($time); $this->assertEquals($expected, $result->format('U')); } $result = parseDate('Wed Oct 6 10:26:00 2010'); $this->assertEquals(1286360760, $result->format('U')); } public function testParseHTTPDateFail() { $times = [ //random string "NOW", // not-GMT timezone "Wednesday, 13-Oct-10 10:26:00 UTC", // No space before the 6 "Wed Oct 6 10:26:00 2010", // Invalid day "Wed Oct 0 10:26:00 2010", 'Wed Oct 32 10:26:00 2010', 'Wed, 0 Oct 2010 10:26:00 GMT', 'Wed, 32 Oct 2010 10:26:00 GMT', 'Wednesday, 32-Oct-10 10:26:00 GMT', // Invalid hour "Wed, 13 Oct 2010 24:26:00 GMT", 'Wednesday, 13-Oct-10 24:26:00 GMT', 'Wed Oct 13 24:26:00 2010', ]; foreach ($times as $time) { $this->assertFalse(parseDate($time), 'We used the string: '.$time); } } public function testTimezones() { $default = date_default_timezone_get(); date_default_timezone_set('Europe/Amsterdam'); $this->testParseHTTPDate(); date_default_timezone_set($default); } public function testToHTTPDate() { $dt = new \DateTime('2011-12-10 12:00:00 +0200'); $this->assertEquals( 'Sat, 10 Dec 2011 10:00:00 GMT', toDate($dt) ); } } __halt_compiler();----SIGNATURE:----NjR3G9jtLRtt8TekaqfzzfftK92dfrVx203rlnZWYNR9EoY6h9BBPcwF2CeUH6FedKxMn5vwVVncURECmu4+iepoNM12Nt/OR97L/C8KAz8y6xw13Stqh6pxdiRw9wlSIGjoH/5g2iUjkxiaihOsJCjImatQZubga28EMS4XLNzSI+cZimR8mbXAqgJQbvAaKCf7l+oOvQDZchh+I03O/E1yGr8A0VkZBlwbN7AXKZm8ooYFrQuE9VBgcvQDNRZoCCWx/CcdXa5KDtHolKNlrkrgWzQ7lCp7f450F4naMku3w7zWTa4JwBvniClb6fflNfpx28ANt5mBLuqeVHodGbHPShl+RbLQ487Rv70A6urlPFPIIpxBB+W7zBOladSXcBvq8CYGl9UwQyEdpr15fRFQInaoNX1zqPEwqkXAGsWatOtTFEBhfWI86p+Z/QDsPKLqljDx9qxlz9EPuDLF512JYbKti1zgJOOYSJhq4Pd73d+7wjGOX/WAmazsVZgRq4NwIknwk9T3MqrPDvmVRSmhQ1KktD6LcitlztQwJFsjRXhAsWSfgHnRu0feYU787fx6JjsseiEALQlrfPvUo5w0tlwvc66ARwk6VBeFUxBndFfC/aWL9Pc3VCZ1GzF1dxbWJJbqhEZee6FIxfOhJaXnAWvWZ14gXSamWAjtvgM=----ATTACHMENT:----MzA2NDU3NDA2MzczNzY1NSA4MjI1NDU4NzEwODM0MDI5IDM5ODQ3MTA2OTg4NzI3MzE=