1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116:
<?php
namespace Guzzle\Tests\Message;
use Guzzle\Common\Collection;
use Guzzle\Tests\Http\Message\HeaderComparison;
class HeaderComparisonTest extends \Guzzle\Tests\GuzzleTestCase
{
public function filterProvider()
{
return array(
array(array(
'Content-Length' => 'Foo'
), array(
'Content-Length' => 'Foo'
), false),
array(array(
'X-Foo' => 'Bar'
), array(), array(
'- X-Foo' => 'Bar'
)),
array(array(
'X-Foo' => 'Bar'
), array(
'X-Foo' => 'Bar',
'X-Baz' => 'Jar'
), array(
'+ X-Baz' => 'Jar'
)),
array(array(
'!X-Foo' => '*'
), array(
'X-Foo' => 'Bar'
), array(
'++ X-Foo' => 'Bar'
)),
array(array(
'X-Foo' => 'Bar'
), array(
'X-Foo' => 'Baz'
), array(
'X-Foo' => 'Baz != Bar'
)),
array(array(
'X-Foo' => '*'
), array(
'X-Foo' => 'Bar'
), false),
array(array(
'X-Foo' => '*'
), array(), array(
'- X-Foo' => '*'
)),
array(array(
'X-Foo' => '*',
'_X-Bar' => '*',
), array(
'X-Foo' => 'Baz',
'X-Bar' => 'Jar'
), false),
array(array(
'X-Foo' => '*',
'_X-Bar' => '*',
), array(
'X-Foo' => 'Baz'
), false),
array(array(
'X-Foo' => '*',
'_X-Bar' => '*',
), array(
'x-foo' => 'Baz',
'x-BAR' => 'baz'
), false),
array(array(
'X-Foo' => '*',
'_X-Bar' => '*',
), new Collection(array(
'x-foo' => 'Baz',
'x-BAR' => 'baz'
)), false),
);
}
public function testComparesHeaders($filters, $headers, $result)
{
$compare = new HeaderComparison();
$this->assertEquals($result, $compare->compare($filters, $headers));
}
}