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
|
<?php namespace Aura\Accept;
class EncodingTest extends AcceptTestCase { protected function newEncoding($server = array()) { return new Encoding\EncodingNegotiator(new ValueFactory, $server); }
/** * @dataProvider encodingProvider * @param $accept * @param $expect * @param $negotiator_class * @param $value_class */ public function testGetEncoding($server, $expect, $negotiator_class, $value_class) { $encoding = $this->newEncoding($server); $this->assertAcceptValues($encoding, $expect, $negotiator_class, $value_class); }
/** * @dataProvider encodingNegotiateProvider * @param $accept * @param $available * @param $expected */ public function testGetEncoding_negotiate($server, $available, $expected) { $encoding = $this->newEncoding($server); $actual = $encoding->negotiate($available);
if ($expected === false) { $this->assertFalse($actual); } else { $this->assertInstanceOf('Aura\Accept\Encoding\EncodingValue', $actual->available); $this->assertSame($expected, $actual->available->getValue()); } }
public function encodingProvider() { return array( array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'compress;q=0.5, gzip;q=1.0'), 'expect' => array( array('value' => 'gzip', 'quality' => 1.0), array('value' => 'compress', 'quality' => 0.5) ), 'negotiator_class' => 'Aura\Accept\Encoding\EncodingNegotiator', 'value_class' => 'Aura\Accept\Encoding\EncodingValue', ) ); }
public function encodingNegotiateProvider() { return array( array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, *',), 'available' => array(), 'expected' => false, ), array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, *'), 'available' => array('foo', 'bar'), 'expected' => 'foo', ), array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, *',), 'available' => array('foo', 'GZIP'), 'expected' => 'GZIP', ), array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, *',), 'available' => array('gzip', 'compress'), 'expected' => 'gzip', ), array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, foo;q=0'), 'available' => array('foo'), 'expected' => false, ), array( 'server' => array('HTTP_ACCEPT_ENCODING' => 'gzip, compress, foo;q=0'), 'available' => array('*'), 'expected' => '*', ), ); } }
|