You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
4.8 KiB
115 lines
4.8 KiB
<?php |
|
/** |
|
* @link http://www.yiiframework.com/ |
|
* @copyright Copyright (c) 2008 Yii Software LLC |
|
* @license http://www.yiiframework.com/license/ |
|
*/ |
|
|
|
namespace yiiunit\framework\web; |
|
|
|
use yii\web\HeaderCollection; |
|
use yiiunit\TestCase; |
|
|
|
/** |
|
* @group web |
|
*/ |
|
class HeaderCollectionTest extends TestCase |
|
{ |
|
public function testFromArray() |
|
{ |
|
$headerCollection = new HeaderCollection(); |
|
$location = 'my-test-location'; |
|
$headerCollection->fromArray([ |
|
'Location' => [$location], |
|
]); |
|
$this->assertEquals($location, $headerCollection->get('Location')); |
|
} |
|
|
|
public function testSetter() |
|
{ |
|
$headerCollection = new HeaderCollection(); |
|
|
|
$this->assertSame('default', $headerCollection->get('X-Header', 'default')); |
|
$this->assertFalse($headerCollection->has('X-Header')); |
|
|
|
$headerCollection->set('X-Header', '1'); |
|
$this->assertTrue($headerCollection->has('X-Header')); |
|
$this->assertTrue($headerCollection->offsetExists('X-Header')); |
|
$this->assertSame('1', $headerCollection->get('X-Header')); |
|
$this->assertSame(['1'], $headerCollection->get('X-Header', null, false)); |
|
$this->assertTrue($headerCollection->has('x-header')); |
|
$this->assertSame('1', $headerCollection->get('x-header')); |
|
$this->assertSame(['1'], $headerCollection->get('x-header', null, false)); |
|
$this->assertSame('1', $headerCollection->get('x-hEadER')); |
|
$this->assertSame(['1'], $headerCollection->get('x-hEadER', null, false)); |
|
$this->assertSame(['x-header' => ['1']], $headerCollection->toArray()); |
|
$this->assertSame(['X-Header' => ['1']], $headerCollection->toOriginalArray()); |
|
|
|
$headerCollection->set('X-HEADER', '2'); |
|
$this->assertSame('2', $headerCollection->get('X-Header')); |
|
$this->assertSame('2', $headerCollection->get('x-header')); |
|
$this->assertSame('2', $headerCollection->get('x-hEadER')); |
|
$this->assertSame(['x-header' => ['2']], $headerCollection->toArray()); |
|
$this->assertSame(['X-HEADER' => ['2']], $headerCollection->toOriginalArray()); |
|
|
|
$headerCollection->offsetSet('X-HEADER', '3'); |
|
$this->assertSame('3', $headerCollection->get('X-Header')); |
|
} |
|
|
|
public function testSetterDefault() |
|
{ |
|
$headerCollection = new HeaderCollection(); |
|
$headerCollection->setDefault('X-Header', '1'); |
|
$this->assertSame(['1'], $headerCollection->get('X-Header', null, false)); |
|
|
|
$headerCollection->setDefault('X-Header', '2'); |
|
$this->assertSame(['1'], $headerCollection->get('X-Header', null, false)); |
|
} |
|
|
|
public function testAdder() |
|
{ |
|
$headerCollection = new HeaderCollection(); |
|
$headerCollection->add('X-Header', '1'); |
|
$this->assertSame('1', $headerCollection->get('X-Header')); |
|
$this->assertSame(['1'], $headerCollection->get('X-Header', null, false)); |
|
$this->assertSame('1', $headerCollection->get('x-header')); |
|
$this->assertSame(['1'], $headerCollection->get('x-header', null, false)); |
|
$this->assertSame('1', $headerCollection->get('x-hEadER')); |
|
$this->assertSame(['1'], $headerCollection->get('x-hEadER', null, false)); |
|
$this->assertSame(['x-header' => ['1']], $headerCollection->toArray()); |
|
$this->assertSame(['X-Header' => ['1']], $headerCollection->toOriginalArray()); |
|
|
|
$headerCollection->add('X-HEADER', '2'); |
|
$this->assertSame('1', $headerCollection->get('X-Header')); |
|
$this->assertSame('1', $headerCollection->get('x-header')); |
|
$this->assertSame('1', $headerCollection->get('x-hEadER')); |
|
$this->assertSame(['1', '2'], $headerCollection->get('x-header', null, false)); |
|
$this->assertSame(['x-header' => ['1', '2']], $headerCollection->toArray()); |
|
$this->assertSame(['X-Header' => ['1', '2']], $headerCollection->toOriginalArray()); |
|
} |
|
|
|
public function testRemover() |
|
{ |
|
$headerCollection = new HeaderCollection(); |
|
$headerCollection->add('X-Header', '1'); |
|
$this->assertSame(1, $headerCollection->count()); |
|
$this->assertSame(1, $headerCollection->getCount()); |
|
$headerCollection->remove('X-Header'); |
|
$this->assertSame(0, $headerCollection->count()); |
|
|
|
$headerCollection->add('X-Header', '1'); |
|
$this->assertSame(1, $headerCollection->count()); |
|
$headerCollection->remove('x-header'); |
|
$this->assertSame(0, $headerCollection->count()); |
|
|
|
$headerCollection->add('X-Header', '1'); |
|
$headerCollection->offsetUnset('X-HEADER'); |
|
$this->assertSame(0, $headerCollection->count()); |
|
|
|
$headerCollection->add('X-Header-1', '1'); |
|
$headerCollection->add('X-Header-2', '1'); |
|
$this->assertSame(2, $headerCollection->count()); |
|
$headerCollection->removeAll(); |
|
$this->assertSame(0, $headerCollection->count()); |
|
} |
|
}
|
|
|