peridot-php / leo

Next level assertion and matcher library for PHP

Home Page:http://peridot-php.github.io/leo/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Feature request: Allow asserting that trigger_error() is called

mallorydxw opened this issue · comments

PHPUnit has $this->setExpectedException('PHPUnit_Framework_Error_Warning');. Leo should provide some way of doing this too. Something like this:

expect(function () {
    trigger_error('Oh no!', E_USER_WARNING);
})->to->triggererror(E_USER_WARNING, 'Oh no!');
commented

Sounds like a good idea to me! For now, I'll shamelessly plug a couple of my own libraries that might help you out:

  • errors/exceptions will automatically install an error handler that turns errors into error exceptions.
  • Asplode is very similar, but requires you to call Asplode::install() in your peridot.php.

Neither of these handlers throw different error exception types for different error severities. If you need that level of granularity, you'll have to use a try/catch block for now.

Also please be aware of #20. It will probably affect you also, if you choose one of the above approaches.