Passed
Push — master ( 5a8d7e...590cfc )
by Anatoly
02:01
created

HeaderSunsetTest::testSetTimestamp()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 11
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Sunrise\Http\Header\Tests;
4
5
use PHPUnit\Framework\TestCase;
6
use Sunrise\Http\Header\HeaderSunset;
7
use Sunrise\Http\Header\HeaderInterface;
8
9
class HeaderSunsetTest extends TestCase
10
{
11
	public function testConstructor()
12
	{
13
		$now = new \DateTime('now');
14
15
		$header = new HeaderSunset($now);
16
17
		$this->assertInstanceOf(HeaderInterface::class, $header);
18
	}
19
20
	public function testSetTimestamp()
21
	{
22
		$now = new \DateTime('now');
23
24
		$header = new HeaderSunset($now);
25
26
		$tomorrow = new \DateTime('+1 day');
27
28
		$this->assertInstanceOf(HeaderInterface::class, $header->setTimestamp($tomorrow));
29
30
		$this->assertEquals($tomorrow, $header->getTimestamp());
31
	}
32
33
	public function testGetTimestamp()
34
	{
35
		$now = new \DateTime('now');
36
37
		$header = new HeaderSunset($now);
38
39
		$this->assertEquals($now, $header->getTimestamp());
40
	}
41
42
	public function testGetFieldName()
43
	{
44
		$now = new \DateTime('now');
45
46
		$header = new HeaderSunset($now);
47
48
		$this->assertEquals('Sunset', $header->getFieldName());
49
	}
50
51
	public function testGetFieldValue()
52
	{
53
		$now = new \DateTime('now', new \DateTimeZone('Europe/Moscow'));
54
55
		$header = new HeaderSunset($now);
56
57
		$expected = new \DateTime('now', new \DateTimeZone('UTC'));
58
59
		$this->assertEquals($expected->format(\DateTime::RFC822), $header->getFieldValue());
60
	}
61
62
	public function testToString()
63
	{
64
		$now = new \DateTime('now', new \DateTimeZone('UTC'));
65
66
		$header = new HeaderSunset($now);
67
68
		$this->assertEquals(\sprintf('Sunset: %s', $now->format(\DateTime::RFC822)), (string) $header);
69
	}
70
71
	public function testSetToMessage()
72
	{
73
		$now = new \DateTime('now');
74
		$header = new HeaderSunset($now);
75
76
		$message = (new \Sunrise\Http\Message\ResponseFactory)->createResponse();
77
		$message = $message->withHeader($header->getFieldName(), 'foo bar baz');
78
79
		$message = $header->setToMessage($message);
80
81
		$this->assertEquals([$header->getFieldValue()], $message->getHeader($header->getFieldName()));
82
	}
83
84
	public function testAddToMessage()
85
	{
86
		$now = new \DateTime('now');
87
		$header = new HeaderSunset($now);
88
89
		$message = (new \Sunrise\Http\Message\ResponseFactory)->createResponse();
90
		$message = $message->withHeader($header->getFieldName(), 'foo bar baz');
91
92
		$message = $header->addToMessage($message);
93
94
		$this->assertEquals(['foo bar baz', $header->getFieldValue()], $message->getHeader($header->getFieldName()));
95
	}
96
}
97