kahlan\Matcher::unregister PHP Method

unregister() public static method

Unregisters a matcher.
public static unregister ( mixed $name, string $target = '' )
$name mixed The name of the matcher. If name is `true` unregister all the matchers.
$target string An optionnal target class name.
    public static function unregister($name, $target = '')
    {
        if ($name === true) {
            static::$_matchers = [];
        } else {
            unset(static::$_matchers[$name][$target]);
        }
    }

Usage Example

コード例 #1
0
ファイル: Matcher.spec.php プロジェクト: crysalead/kahlan
        });
        it("throws an exception when using an undefined matcher name for a specific class", function () {
            $closure = function () {
                Matcher::get('toHelloWorld', 'stdClass');
            };
            expect($closure)->toThrow(new Exception("Unexisting matcher attached to `'toHelloWorld'` for `stdClass`."));
        });
    });
    describe("::unregister()", function () {
        it("unregisters a matcher", function () {
            Matcher::register('toBeOrNotToBe', Double::classname(['extends' => 'Kahlan\\Matcher\\ToBe']));
            expect(Matcher::exists('toBeOrNotToBe'))->toBe(true);
            Matcher::unregister('toBeOrNotToBe');
            expect(Matcher::exists('toBeOrNotToBe'))->toBe(false);
        });
        it("unregisters all matchers", function () {
            expect(Matcher::get())->toBeGreaterThan(1);
            Matcher::unregister(true);
            Matcher::register('toHaveLength', 'Kahlan\\Matcher\\ToHaveLength');
            expect(Matcher::get())->toHaveLength(1);
        });
    });
    describe("::reset()", function () {
        it("unregisters all matchers", function () {
            expect(Matcher::get())->toBeGreaterThan(1);
            Matcher::reset();
            Matcher::register('toHaveLength', 'Kahlan\\Matcher\\ToHaveLength');
            expect(Matcher::get())->toHaveLength(1);
        });
    });
});