public function testStaticIsCalledOn() { $matcher1 = new Phake_Matchers_EqualsMatcher('foo', new \SebastianBergmann\Comparator\Factory()); $matcher2 = new Phake_Matchers_EqualsMatcher(array(), new \SebastianBergmann\Comparator\Factory()); $matcher1->setNextMatcher($matcher2); $this->proxy = new Phake_Proxies_CallVerifierProxy($matcher1, $this->client, true); $mock = Phake::mock('PhakeTest_MagicClass'); $mock::foo(); $verifier = $this->proxy->isCalledOn($mock); $this->assertEquals(1, count($verifier)); }
/** * Creates an argument matcher based on the given value. * * If the given values is already an instance of Phake_Matchers_IChainableArgumentMatcher it is passed * through. If it is an instance of PHPUnit_Framework_Constraint a PHPUnit adapter is returned. * If it is an instance of Hamcrest_Matcher a Hamcrest adapter is returned. For everything else * a EqualsMatcher is returned set to the passed in value. * * @param mixed $argument * * @return Phake_Matchers_IChainableArgumentMatcher */ public function createMatcher($argument, Phake_Matchers_IChainableArgumentMatcher $nextMatcher = null) { $return = null; if ($argument instanceof Phake_Matchers_IChainableArgumentMatcher) { $return = $argument; } elseif ($argument instanceof PHPUnit_Framework_Constraint) { $return = new Phake_Matchers_PHPUnitConstraintAdapter($argument); } elseif ($argument instanceof Hamcrest\Matcher) { $return = new Phake_Matchers_HamcrestMatcherAdapter($argument); } elseif ($argument instanceof Phake_Matchers_IArgumentMatcher) { $return = new Phake_Matchers_ChainedArgumentMatcher($argument); } else { $return = new Phake_Matchers_EqualsMatcher($argument, new \SebastianBergmann\Comparator\Factory()); } if ($nextMatcher !== null) { $return->setNextMatcher($nextMatcher); } return $return; }
/** * Tests that a verifier will not find a call that has been recorded with non matching parameters. */ public function testVerifierDoesNotFindCallWithUnmatchedArguments() { $matcher1 = new Phake_Matchers_EqualsMatcher('test', new \SebastianBergmann\Comparator\Factory()); $matcher2 = new Phake_Matchers_EqualsMatcher('test', new \SebastianBergmann\Comparator\Factory()); $matcher1->setNextMatcher($matcher2); $expectation = new Phake_CallRecorder_CallExpectation($this->obj, 'foo', $matcher1, $this->verifierMode); Phake::when($this->verifierMode)->verify(Phake::anyParameters())->thenReturn(new Phake_CallRecorder_VerifierMode_Result(true, '')); $result = $this->verifier->verifyCall($expectation)->getMatchedCalls(); $this->assertTrue(empty($result)); }