annotate vendor/phpspec/prophecy/spec/Prophecy/Comparator/ClosureComparatorSpec.php @ 5:c69a71b4f40f

Add slideshow module
author Chris Cannam
date Thu, 07 Dec 2017 14:46:23 +0000
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace spec\Prophecy\Comparator;
Chris@0 4
Chris@0 5 use PhpSpec\ObjectBehavior;
Chris@0 6 use Prophecy\Argument;
Chris@0 7
Chris@0 8 class ClosureComparatorSpec extends ObjectBehavior
Chris@0 9 {
Chris@0 10 function it_is_comparator()
Chris@0 11 {
Chris@0 12 $this->shouldHaveType('SebastianBergmann\Comparator\Comparator');
Chris@0 13 }
Chris@0 14
Chris@0 15 function it_accepts_only_closures()
Chris@0 16 {
Chris@0 17 $this->accepts(123, 321)->shouldReturn(false);
Chris@0 18 $this->accepts('string', 'string')->shouldReturn(false);
Chris@0 19 $this->accepts(false, true)->shouldReturn(false);
Chris@0 20 $this->accepts(true, false)->shouldReturn(false);
Chris@0 21 $this->accepts((object)array(), (object)array())->shouldReturn(false);
Chris@0 22 $this->accepts(function(){}, (object)array())->shouldReturn(false);
Chris@0 23 $this->accepts(function(){}, (object)array())->shouldReturn(false);
Chris@0 24
Chris@0 25 $this->accepts(function(){}, function(){})->shouldReturn(true);
Chris@0 26 }
Chris@0 27
Chris@0 28 function it_asserts_that_all_closures_are_different()
Chris@0 29 {
Chris@0 30 $this->shouldThrow()->duringAssertEquals(function(){}, function(){});
Chris@0 31 }
Chris@0 32
Chris@0 33 function it_asserts_that_all_closures_are_different_even_if_its_the_same_closure()
Chris@0 34 {
Chris@0 35 $closure = function(){};
Chris@0 36
Chris@0 37 $this->shouldThrow()->duringAssertEquals($closure, $closure);
Chris@0 38 }
Chris@0 39 }