peridot-php / leo

Next level assertion and matcher library for PHP
http://peridot-php.github.io/leo/
MIT License
35 stars 7 forks source link

Feature request: Allow asserting that trigger_error() is called #25

Open mallorydxw opened 8 years ago

mallorydxw commented 8 years ago

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!');
ezzatron commented 8 years ago

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

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.