1*a1a3b679SAndreas Boehler<?php 2*a1a3b679SAndreas Boehler 3*a1a3b679SAndreas Boehlernamespace Sabre\HTTP; 4*a1a3b679SAndreas Boehler 5*a1a3b679SAndreas Boehlerclass FunctionsTest extends \PHPUnit_Framework_TestCase { 6*a1a3b679SAndreas Boehler 7*a1a3b679SAndreas Boehler /** 8*a1a3b679SAndreas Boehler * @dataProvider getHeaderValuesData 9*a1a3b679SAndreas Boehler */ 10*a1a3b679SAndreas Boehler function testGetHeaderValues($input, $output) { 11*a1a3b679SAndreas Boehler 12*a1a3b679SAndreas Boehler $this->assertEquals( 13*a1a3b679SAndreas Boehler $output, 14*a1a3b679SAndreas Boehler getHeaderValues($input) 15*a1a3b679SAndreas Boehler ); 16*a1a3b679SAndreas Boehler 17*a1a3b679SAndreas Boehler } 18*a1a3b679SAndreas Boehler 19*a1a3b679SAndreas Boehler function getHeaderValuesData() { 20*a1a3b679SAndreas Boehler 21*a1a3b679SAndreas Boehler return [ 22*a1a3b679SAndreas Boehler [ 23*a1a3b679SAndreas Boehler "a", 24*a1a3b679SAndreas Boehler ["a"] 25*a1a3b679SAndreas Boehler ], 26*a1a3b679SAndreas Boehler [ 27*a1a3b679SAndreas Boehler "a,b", 28*a1a3b679SAndreas Boehler ["a", "b"] 29*a1a3b679SAndreas Boehler ], 30*a1a3b679SAndreas Boehler [ 31*a1a3b679SAndreas Boehler "a, b", 32*a1a3b679SAndreas Boehler ["a", "b"] 33*a1a3b679SAndreas Boehler ], 34*a1a3b679SAndreas Boehler [ 35*a1a3b679SAndreas Boehler ["a, b"], 36*a1a3b679SAndreas Boehler ["a", "b"] 37*a1a3b679SAndreas Boehler ], 38*a1a3b679SAndreas Boehler [ 39*a1a3b679SAndreas Boehler ["a, b", "c", "d,e"], 40*a1a3b679SAndreas Boehler ["a", "b", "c", "d", "e"] 41*a1a3b679SAndreas Boehler ], 42*a1a3b679SAndreas Boehler ]; 43*a1a3b679SAndreas Boehler 44*a1a3b679SAndreas Boehler } 45*a1a3b679SAndreas Boehler 46*a1a3b679SAndreas Boehler /** 47*a1a3b679SAndreas Boehler * @dataProvider preferData 48*a1a3b679SAndreas Boehler */ 49*a1a3b679SAndreas Boehler function testPrefer($input, $output) { 50*a1a3b679SAndreas Boehler 51*a1a3b679SAndreas Boehler $this->assertEquals( 52*a1a3b679SAndreas Boehler $output, 53*a1a3b679SAndreas Boehler parsePrefer($input) 54*a1a3b679SAndreas Boehler ); 55*a1a3b679SAndreas Boehler 56*a1a3b679SAndreas Boehler } 57*a1a3b679SAndreas Boehler 58*a1a3b679SAndreas Boehler function preferData() { 59*a1a3b679SAndreas Boehler 60*a1a3b679SAndreas Boehler return [ 61*a1a3b679SAndreas Boehler [ 62*a1a3b679SAndreas Boehler 'foo; bar', 63*a1a3b679SAndreas Boehler ['foo' => true] 64*a1a3b679SAndreas Boehler ], 65*a1a3b679SAndreas Boehler [ 66*a1a3b679SAndreas Boehler 'foo; bar=""', 67*a1a3b679SAndreas Boehler ['foo' => true] 68*a1a3b679SAndreas Boehler ], 69*a1a3b679SAndreas Boehler [ 70*a1a3b679SAndreas Boehler 'foo=""; bar', 71*a1a3b679SAndreas Boehler ['foo' => true] 72*a1a3b679SAndreas Boehler ], 73*a1a3b679SAndreas Boehler [ 74*a1a3b679SAndreas Boehler 'FOO', 75*a1a3b679SAndreas Boehler ['foo' => true] 76*a1a3b679SAndreas Boehler ], 77*a1a3b679SAndreas Boehler [ 78*a1a3b679SAndreas Boehler 'respond-async', 79*a1a3b679SAndreas Boehler ['respond-async' => true] 80*a1a3b679SAndreas Boehler ], 81*a1a3b679SAndreas Boehler [ 82*a1a3b679SAndreas Boehler 83*a1a3b679SAndreas Boehler ['respond-async, wait=100', 'handling=lenient'], 84*a1a3b679SAndreas Boehler ['respond-async' => true, 'wait' => 100, 'handling' => 'lenient'] 85*a1a3b679SAndreas Boehler ], 86*a1a3b679SAndreas Boehler [ 87*a1a3b679SAndreas Boehler 88*a1a3b679SAndreas Boehler ['respond-async, wait=100, handling=lenient'], 89*a1a3b679SAndreas Boehler ['respond-async' => true, 'wait' => 100, 'handling' => 'lenient'] 90*a1a3b679SAndreas Boehler ], 91*a1a3b679SAndreas Boehler // Old values 92*a1a3b679SAndreas Boehler [ 93*a1a3b679SAndreas Boehler 94*a1a3b679SAndreas Boehler 'return-asynch, return-representation', 95*a1a3b679SAndreas Boehler ['respond-async' => true, 'return' => 'representation'], 96*a1a3b679SAndreas Boehler ], 97*a1a3b679SAndreas Boehler [ 98*a1a3b679SAndreas Boehler 99*a1a3b679SAndreas Boehler 'return-minimal', 100*a1a3b679SAndreas Boehler ['return' => 'minimal'], 101*a1a3b679SAndreas Boehler ], 102*a1a3b679SAndreas Boehler [ 103*a1a3b679SAndreas Boehler 104*a1a3b679SAndreas Boehler 'strict', 105*a1a3b679SAndreas Boehler ['handling' => 'strict'], 106*a1a3b679SAndreas Boehler ], 107*a1a3b679SAndreas Boehler [ 108*a1a3b679SAndreas Boehler 109*a1a3b679SAndreas Boehler 'lenient', 110*a1a3b679SAndreas Boehler ['handling' => 'lenient'], 111*a1a3b679SAndreas Boehler ], 112*a1a3b679SAndreas Boehler // Invalid token 113*a1a3b679SAndreas Boehler [ 114*a1a3b679SAndreas Boehler ['foo=%bar%'], 115*a1a3b679SAndreas Boehler [], 116*a1a3b679SAndreas Boehler ] 117*a1a3b679SAndreas Boehler ]; 118*a1a3b679SAndreas Boehler 119*a1a3b679SAndreas Boehler } 120*a1a3b679SAndreas Boehler 121*a1a3b679SAndreas Boehler} 122