You are here

KeywordPatchSpec.php in Zircon Profile 8

File

vendor/phpspec/prophecy/spec/Prophecy/Doubler/ClassPatch/KeywordPatchSpec.php
View source
<?php

namespace spec\Prophecy\Doubler\ClassPatch;

use PhpSpec\ObjectBehavior;
use Prophecy\Argument;
use Prophecy\Doubler\Generator\Node\MethodNode;
class KeywordPatchSpec extends ObjectBehavior {
  function it_is_a_patch() {
    $this
      ->shouldBeAnInstanceOf('Prophecy\\Doubler\\ClassPatch\\ClassPatchInterface');
  }
  function its_priority_is_49() {
    $this
      ->getPriority()
      ->shouldReturn(49);
  }

  /**
   * @param \Prophecy\Doubler\Generator\Node\ClassNode $node
   * @param \Prophecy\Doubler\Generator\Node\MethodNode $method1
   * @param \Prophecy\Doubler\Generator\Node\MethodNode $method2
   * @param \Prophecy\Doubler\Generator\Node\MethodNode $method3
   */
  function it_will_remove_echo_and_eval_methods($node, $method1, $method2, $method3) {
    $node
      ->removeMethod('eval')
      ->shouldBeCalled();
    $node
      ->removeMethod('echo')
      ->shouldBeCalled();
    $method1
      ->getName()
      ->willReturn('echo');
    $method2
      ->getName()
      ->willReturn('eval');
    $method3
      ->getName()
      ->willReturn('notKeyword');
    $node
      ->getMethods()
      ->willReturn(array(
      'echo' => $method1,
      'eval' => $method2,
      'notKeyword' => $method3,
    ));
    $this
      ->apply($node);
  }

}

Classes

Namesort descending Description
KeywordPatchSpec