Вход Регистрация
Файл: src/vendor/phpspec/prophecy/spec/Prophecy/Doubler/Generator/ClassCreatorSpec.php
Строк: 44
<?php

namespace specProphecyDoublerGenerator;

use 
PhpSpecObjectBehavior;

class 
ClassCreatorSpec extends ObjectBehavior
{
    
/**
     * @param ProphecyDoublerGeneratorClassCodeGenerator $generator
     */
    
function let($generator)
    {
        
$this->beConstructedWith($generator);
    }

    
/**
     * @param ProphecyDoublerGeneratorNodeClassNode $class
     */
    
function it_evaluates_code_generated_by_ClassCodeGenerator($generator, $class)
    {
        
$generator->generate('stdClass', $class)->shouldBeCalled()->willReturn(
            
'return 42;'
        
);

        
$this->create('stdClass', $class)->shouldReturn(42);
    }

    
/**
     * @param ProphecyDoublerGeneratorNodeClassNode $class
     */
    
function it_throws_an_exception_if_class_does_not_exist_after_evaluation($generator, $class)
    {
        
$generator->generate('CustomClass', $class)->shouldBeCalled()->willReturn(
            
'return 42;'
        
);

        
$class->getParentClass()->willReturn('stdClass');
        
$class->getInterfaces()->willReturn(array('Interface1', 'Interface2'));

        
$this->shouldThrow('ProphecyExceptionDoublerClassCreatorException')
            ->
duringCreate('CustomClass', $class);
    }
}
Онлайн: 2
Реклама