/**
  * Tests that the overriding of existing headers works as expected.
  */
 public function testReplaceHeader()
 {
     $request = new Request('127.0.0.1');
     $request->setHeader('Foo: bar', 'Bar: baz');
     $request->replaceHeader('Foo', 'baz');
     $this->assertEquals(array('Foo: baz', 'Bar: baz'), $request->getHeaders());
     $request->replaceHeader('Bar', 'foo');
     $this->assertEquals(array('Foo: baz', 'Bar: foo'), $request->getHeaders());
     // Only the first matching instance of a header will be replaced
     $request->setHeader('Baz: asdf', 'Baz: 1234');
     $request->replaceHeader('Baz', 'qwerty');
     $this->assertEquals(array('Foo: baz', 'Bar: foo', 'Baz: qwerty', 'Baz: 1234'), $request->getHeaders());
     // Case sensitivity is not required
     $request->replaceHeader('foo', 'Bar');
     $this->assertEquals(array('foo: Bar', 'Bar: foo', 'Baz: qwerty', 'Baz: 1234'), $request->getHeaders());
     // If the header isn't there yet, it is added
     $request->replaceHeader('Brule', 'Dingus');
     $this->assertEquals(array('foo: Bar', 'Bar: foo', 'Baz: qwerty', 'Baz: 1234', 'Brule: Dingus'), $request->getHeaders());
 }