comparison vendor/phpunit/phpunit-mock-objects/tests/MockBuilderTest.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents 4c8ae668cc8c
children
comparison
equal deleted inserted replaced
13:5fb285c0d0e3 14:1fec387a4317
1 <?php 1 <?php
2 /* 2 /*
3 * This file is part of the PHPUnit_MockObject package. 3 * This file is part of the phpunit-mock-objects package.
4 * 4 *
5 * (c) Sebastian Bergmann <sebastian@phpunit.de> 5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
6 * 6 *
7 * For the full copyright and license information, please view the LICENSE 7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code. 8 * file that was distributed with this source code.
9 */ 9 */
10 10
11 /** 11 use PHPUnit\Framework\TestCase;
12 * @since File available since Release 1.0.0 12 use PHPUnit\Framework\MockObject\MockBuilder;
13 */ 13
14 class Framework_MockBuilderTest extends PHPUnit_Framework_TestCase 14 class MockBuilderTest extends TestCase
15 { 15 {
16 public function testMockBuilderRequiresClassName() 16 public function testMockBuilderRequiresClassName()
17 { 17 {
18 $spec = $this->getMockBuilder('Mockable'); 18 $mock = $this->getMockBuilder(Mockable::class)->getMock();
19 $mock = $spec->getMock(); 19
20 $this->assertTrue($mock instanceof Mockable); 20 $this->assertTrue($mock instanceof Mockable);
21 } 21 }
22 22
23 public function testByDefaultMocksAllMethods() 23 public function testByDefaultMocksAllMethods()
24 { 24 {
25 $spec = $this->getMockBuilder('Mockable'); 25 $mock = $this->getMockBuilder(Mockable::class)->getMock();
26 $mock = $spec->getMock(); 26
27 $this->assertNull($mock->mockableMethod()); 27 $this->assertNull($mock->mockableMethod());
28 $this->assertNull($mock->anotherMockableMethod()); 28 $this->assertNull($mock->anotherMockableMethod());
29 } 29 }
30 30
31 public function testMethodsToMockCanBeSpecified() 31 public function testMethodsToMockCanBeSpecified()
32 { 32 {
33 $spec = $this->getMockBuilder('Mockable'); 33 $mock = $this->getMockBuilder(Mockable::class)
34 $spec->setMethods(array('mockableMethod')); 34 ->setMethods(['mockableMethod'])
35 $mock = $spec->getMock(); 35 ->getMock();
36
36 $this->assertNull($mock->mockableMethod()); 37 $this->assertNull($mock->mockableMethod());
37 $this->assertTrue($mock->anotherMockableMethod()); 38 $this->assertTrue($mock->anotherMockableMethod());
38 } 39 }
39 40
41 public function testMethodExceptionsToMockCanBeSpecified()
42 {
43 $mock = $this->getMockBuilder(Mockable::class)
44 ->setMethodsExcept(['mockableMethod'])
45 ->getMock();
46
47 $this->assertTrue($mock->mockableMethod());
48 $this->assertNull($mock->anotherMockableMethod());
49 }
50
51 public function testEmptyMethodExceptionsToMockCanBeSpecified()
52 {
53 $mock = $this->getMockBuilder(Mockable::class)
54 ->setMethodsExcept()
55 ->getMock();
56
57 $this->assertNull($mock->mockableMethod());
58 $this->assertNull($mock->anotherMockableMethod());
59 }
60
40 public function testByDefaultDoesNotPassArgumentsToTheConstructor() 61 public function testByDefaultDoesNotPassArgumentsToTheConstructor()
41 { 62 {
42 $spec = $this->getMockBuilder('Mockable'); 63 $mock = $this->getMockBuilder(Mockable::class)->getMock();
43 $mock = $spec->getMock(); 64
44 $this->assertEquals(array(null, null), $mock->constructorArgs); 65 $this->assertEquals([null, null], $mock->constructorArgs);
45 } 66 }
46 67
47 public function testMockClassNameCanBeSpecified() 68 public function testMockClassNameCanBeSpecified()
48 { 69 {
49 $spec = $this->getMockBuilder('Mockable'); 70 $mock = $this->getMockBuilder(Mockable::class)
50 $spec->setMockClassName('ACustomClassName'); 71 ->setMockClassName('ACustomClassName')
51 $mock = $spec->getMock(); 72 ->getMock();
73
52 $this->assertTrue($mock instanceof ACustomClassName); 74 $this->assertTrue($mock instanceof ACustomClassName);
53 } 75 }
54 76
55 public function testConstructorArgumentsCanBeSpecified() 77 public function testConstructorArgumentsCanBeSpecified()
56 { 78 {
57 $spec = $this->getMockBuilder('Mockable'); 79 $mock = $this->getMockBuilder(Mockable::class)
58 $spec->setConstructorArgs($expected = array(23, 42)); 80 ->setConstructorArgs([23, 42])
59 $mock = $spec->getMock(); 81 ->getMock();
60 $this->assertEquals($expected, $mock->constructorArgs); 82
83 $this->assertEquals([23, 42], $mock->constructorArgs);
61 } 84 }
62 85
63 public function testOriginalConstructorCanBeDisabled() 86 public function testOriginalConstructorCanBeDisabled()
64 { 87 {
65 $spec = $this->getMockBuilder('Mockable'); 88 $mock = $this->getMockBuilder(Mockable::class)
66 $spec->disableOriginalConstructor(); 89 ->disableOriginalConstructor()
67 $mock = $spec->getMock(); 90 ->getMock();
91
68 $this->assertNull($mock->constructorArgs); 92 $this->assertNull($mock->constructorArgs);
69 } 93 }
70 94
71 public function testByDefaultOriginalCloneIsPreserved() 95 public function testByDefaultOriginalCloneIsPreserved()
72 { 96 {
73 $spec = $this->getMockBuilder('Mockable'); 97 $mock = $this->getMockBuilder(Mockable::class)
74 $mock = $spec->getMock(); 98 ->getMock();
99
75 $cloned = clone $mock; 100 $cloned = clone $mock;
101
76 $this->assertTrue($cloned->cloned); 102 $this->assertTrue($cloned->cloned);
77 } 103 }
78 104
79 public function testOriginalCloneCanBeDisabled() 105 public function testOriginalCloneCanBeDisabled()
80 { 106 {
81 $spec = $this->getMockBuilder('Mockable'); 107 $mock = $this->getMockBuilder(Mockable::class)
82 $spec->disableOriginalClone(); 108 ->disableOriginalClone()
83 $mock = $spec->getMock(); 109 ->getMock();
110
84 $mock->cloned = false; 111 $mock->cloned = false;
85 $cloned = clone $mock; 112 $cloned = clone $mock;
113
86 $this->assertFalse($cloned->cloned); 114 $this->assertFalse($cloned->cloned);
87 }
88
89 public function testCallingAutoloadCanBeDisabled()
90 {
91 // it is not clear to me how to test this nor the difference
92 // between calling it or not
93 $this->markTestIncomplete();
94 } 115 }
95 116
96 public function testProvidesAFluentInterface() 117 public function testProvidesAFluentInterface()
97 { 118 {
98 $spec = $this->getMockBuilder('Mockable') 119 $spec = $this->getMockBuilder(Mockable::class)
99 ->setMethods(array('mockableMethod')) 120 ->setMethods(['mockableMethod'])
100 ->setConstructorArgs(array()) 121 ->setConstructorArgs([])
101 ->setMockClassName('DummyClassName') 122 ->setMockClassName('DummyClassName')
102 ->disableOriginalConstructor() 123 ->disableOriginalConstructor()
103 ->disableOriginalClone() 124 ->disableOriginalClone()
104 ->disableAutoload(); 125 ->disableAutoload();
105 $this->assertTrue($spec instanceof PHPUnit_Framework_MockObject_MockBuilder); 126
127 $this->assertTrue($spec instanceof MockBuilder);
106 } 128 }
107 } 129 }