spec\PhpSpec\CodeAnalysis\TokenizedTypeHintRewriterSpec::it_indexes_invalid_typehints PHP Method

it_indexes_invalid_typehints() public method

public it_indexes_invalid_typehints ( PhpSpec\Loader\Transformer\TypeHintIndex $typeHintIndex, PhpSpec\CodeAnalysis\NamespaceResolver $namespaceResolver )
$typeHintIndex PhpSpec\Loader\Transformer\TypeHintIndex
$namespaceResolver PhpSpec\CodeAnalysis\NamespaceResolver
    function it_indexes_invalid_typehints(TypeHintIndex $typeHintIndex, NamespaceResolver $namespaceResolver)
    {
        $e = new DisallowedNonObjectTypehintException();
        $namespaceResolver->analyse(Argument::any())->shouldBeCalled();
        $namespaceResolver->resolve('FooSpec')->willReturn('FooSpec');
        $namespaceResolver->resolve('int')->willThrow($e);
        $this->rewrite('
        <?php

        class FooSpec
        {
            public function bar(int $bar)
            {
            }
        }

        ');
        $typeHintIndex->addInvalid('FooSpec', 'bar', '$bar', $e)->shouldHaveBeenCalled();
        $typeHintIndex->add('FooSpec', 'bar', '$bar', Argument::any())->shouldNotHaveBeenCalled();
    }