Skip to content
/ leo Public
forked from peridot-php/leo

Next level assertion and matcher library for PHP

License

Notifications You must be signed in to change notification settings

recoilphp/leo

 
 

Repository files navigation

Leo logo

Leo

Next level assertion library for PHP

Current version image Current build status image Current Scrutinizer code quality image Current coverage status image

Visit the main site and documentation at peridot-php.github.io/leo/.

Expect Interface

Leo supports a chainable interface for writing assertions via the expect function:

expect($obj)->to->have->property('name');
expect($value)->to->be->ok
expect($fn)->to->throw('InvalidArgumentException', 'Expected message');
expect($array)->to->be->an('array');
expect($result)->to->not->be->empty;

Assert Interface

Leo supports a more object oriented, non-chainable interface via Assert:

use Peridot\Leo\Interfaces\Assert;

$assert = new Assert();
$assert->ok(true);
$assert->doesNotThrow($fn, 'Exception');
$assert->isResource(tmpfile());
$assert->notEqual($actual, $expected);

Detailed error messages

Leo matchers generate detailed error messages for failed assertions:

Leo messages

Plugins

Leo can be easily customized. For an example see LeoHttpFoundation. Read more on the plugin guide.

Running Tests

make test

Generating Docs

Documentation is generated via ApiGen. Simply run:

make docs

Thanks

Leo was inspired by several great projects:

And of course our work on Peridot gave incentive to make a useful complement.

About

Next level assertion and matcher library for PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.0%
  • Other 1.0%