/** * * @return void */ public function testHeaders() { $message1 = $this->messageMock->withHeader('test', 'test'); // Check if withHeader returnes new instance $this->assertNotSame($message1, $this->messageMock); $this->assertTrue($message1->hasHeader('test')); $this->assertFalse($this->messageMock->hasHeader('test')); $this->assertEquals(array('test'), $message1->getHeader('test')); // Test if adding the same header value again, the same object is returned $message2 = $message1->withHeader('test', 'test'); $this->assertSame($message1, $message2); $message3 = $message1->withAddedHeader('test', 'test2'); // Check if withAddedHeader returnes new instance $this->assertNotSame($message1, $message3); // Test values of header $this->assertEquals(array('test', 'test2'), $message3->getHeader('test')); $this->assertEquals('test,test2', $message3->getHeaderLine('test')); $this->assertEquals(array('test' => array('test', 'test2')), $message3->getHeaders()); $message4 = $message3->withoutHeader('test'); $this->assertNotSame($message4, $message3); }