By wrapper I mean a method that wraps the PHP native function like here: https://github.com/firephp/firephp-core/blob/master/lib/FirePHPCore/FirePHP.class.php#L1157-L1160

We can subclass this in `FirePHP_Test_Class` to intercept the call and mock the PHP native function.

> I don't think we can accurately test that "normal" headers sent by an application.

We can. We just pre-populate some cached headers by calling the subclassed `setHeader()` method before logging.

The purpose of the unit tests is to test the logic of FirePHP and more specifically the generation of headers. We don't need to test the PHP native functions as we know how they work and are covered by PHP's unit tests. It is thus perfectly fine to intercept calls to the lower level PHP functions and mock the behaviour of `header()` and `headers_list()` via a cache in `FirePHP_Test_Class`.