Skip to content

kahlan/extra-matcher

Repository files navigation

Kahlan Additional Matchers

Build Status Code Coverage

Installation

via Composer

$ composer require --dev kahlan/extra-matcher

Registration

To manually register the matchers you want, add them in your kahlan-config.php config file like in the following example:

use Kahlan\Extra\Matcher\ExtraMatchers;

ExtraMatchers::register(['toBeOneOf', ...]);

Or in case you want to register all matchers, you can simply write:

use Kahlan\Extra\Matcher\ExtraMatchers;

ExtraMatchers::register();

Documentation

toBeOneOf($expected) // strict comparison

it("passes if $actual is present in $expected", function() {
    expect(3)->toBeOneOf([1, 2, 3]);
});

toEqualOneOf($expected) // loose comparison

it("passes if $actual is present in $expected", function() {
    expect("3")->toEqualOneOf([1, 2, 3]);
});

toImplement($expected) // object implements expected interface

namespace App\Spec;

it("passes if $actual implements $expected", function() {

    interface Foo { }
    class Bar implements Foo {}

    $actual = new Bar();
    expect($actual)->toImplement('App\Spec\Foo');
});