public function testGetSetHeaders() { $message = new Message(); $message->setHeaders(array('foo' => 'bar', 'bar' => array('foo', 'bar'))); $headers = $message->getHeaders(); $this->assertTrue(is_array($headers['foo'])); $this->assertEquals(array('bar'), $headers['foo']); $this->assertTrue(is_array($headers['bar'])); $this->assertEquals(array('foo', 'bar'), $headers['bar']); foreach ($headers as $name => $value) { $this->assertTrue(is_array($value)); } // set headers must overwrite all existing headers $message->setHeaders(array('foo' => 'bar')); $this->assertTrue($message->hasHeader('foo')); $this->assertFalse($message->hasHeader('bar')); }