-
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathMockDisablerTest.php
54 lines (44 loc) · 1.27 KB
/
MockDisablerTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
namespace phpmock\phpunit;
use phpmock\Deactivatable;
use phpmock\Mock;
use PHPUnit\Framework\TestCase;
/**
* Tests MockDisabler.
*
* @author Markus Malkusch <[email protected]>
* @link bitcoin:1335STSwu9hST4vcMRppEPgENMHD2r1REK Donations
* @license http://www.wtfpl.net/txt/copying/ WTFPL
* @see MockDisabler
*/
class MockDisablerTest extends TestCase
{
/**
* Tests disabling the mock.
*
* @test
*/
public function testEndTest()
{
$min = new Mock(__NAMESPACE__, "min", "max");
$min->enable();
$this->assertEquals(9, min(1, 9));
$disabler = new MockDisabler($min);
$disabler->endTest($this, 1);
$this->assertEquals(1, min(1, 9));
}
public function testCallback()
{
$executed = false;
$executedWith = null;
$mock = $this->createMock(Deactivatable::class);
$disabler = new MockDisabler($mock, static function ($disabler) use (&$executed, &$executedWith) {
self::assertInstanceOf(MockDisabler::class, $disabler);
$executed = true;
$executedWith = $disabler;
});
$disabler->endTest($this, 1);
self::assertTrue($executed);
self::assertSame($executedWith, $disabler);
}
}