Chris@12
|
1 <?php
|
Chris@12
|
2
|
Chris@12
|
3 namespace Drupal\Tests;
|
Chris@12
|
4
|
Chris@12
|
5 /**
|
Chris@12
|
6 * Tests the PHPUnit forward compatibility trait.
|
Chris@12
|
7 *
|
Chris@12
|
8 * @coversDefaultClass \Drupal\Tests\PhpunitCompatibilityTrait
|
Chris@12
|
9 * @group Tests
|
Chris@12
|
10 */
|
Chris@12
|
11 class PhpunitCompatibilityTraitTest extends UnitTestCase {
|
Chris@12
|
12
|
Chris@12
|
13 /**
|
Chris@12
|
14 * Tests that getMock is available and calls the correct parent method.
|
Chris@12
|
15 *
|
Chris@12
|
16 * @covers ::getMock
|
Chris@12
|
17 * @dataProvider providerMockVersions
|
Chris@12
|
18 */
|
Chris@12
|
19 public function testGetMock($className, $expected) {
|
Chris@12
|
20 $class = new $className();
|
Chris@12
|
21 $this->assertSame($expected, $class->getMock($this->randomMachineName()));
|
Chris@12
|
22 }
|
Chris@12
|
23
|
Chris@12
|
24 /**
|
Chris@12
|
25 * Tests that createMock is available and calls the correct parent method.
|
Chris@12
|
26 *
|
Chris@12
|
27 * @covers ::createMock
|
Chris@12
|
28 * @dataProvider providerMockVersions
|
Chris@12
|
29 */
|
Chris@12
|
30 public function testCreateMock($className, $expected) {
|
Chris@12
|
31 $class = new $className();
|
Chris@12
|
32 $this->assertSame($expected, $class->createMock($this->randomMachineName()));
|
Chris@12
|
33 }
|
Chris@12
|
34
|
Chris@12
|
35 /**
|
Chris@12
|
36 * Returns the class names and the string they return.
|
Chris@12
|
37 *
|
Chris@12
|
38 * @return array
|
Chris@12
|
39 */
|
Chris@12
|
40 public function providerMockVersions() {
|
Chris@12
|
41 return [
|
Chris@12
|
42 [UnitTestCasePhpunit4TestClass::class, 'PHPUnit 4'],
|
Chris@12
|
43 [UnitTestCasePhpunit4TestClassExtends::class, 'PHPUnit 4'],
|
Chris@12
|
44 [UnitTestCasePhpunit6TestClass::class, 'PHPUnit 6'],
|
Chris@12
|
45 [UnitTestCasePhpunit6TestClassExtends::class, 'PHPUnit 6'],
|
Chris@12
|
46 ];
|
Chris@12
|
47 }
|
Chris@12
|
48
|
Chris@12
|
49 }
|
Chris@12
|
50
|
Chris@12
|
51 /**
|
Chris@12
|
52 * Test class for \PHPUnit\Framework\TestCase in PHPUnit 4.
|
Chris@12
|
53 */
|
Chris@12
|
54 class Phpunit4TestClass {
|
Chris@17
|
55
|
Chris@12
|
56 public function getMock($originalClassName) {
|
Chris@12
|
57 return 'PHPUnit 4';
|
Chris@12
|
58 }
|
Chris@12
|
59
|
Chris@12
|
60 }
|
Chris@12
|
61
|
Chris@12
|
62 /**
|
Chris@12
|
63 * Test class for \PHPUnit\Framework\TestCase in PHPUnit 6.
|
Chris@12
|
64 */
|
Chris@12
|
65 class Phpunit6TestClass {
|
Chris@17
|
66
|
Chris@12
|
67 public function createMock($originalClassName) {
|
Chris@12
|
68 return 'PHPUnit 6';
|
Chris@12
|
69 }
|
Chris@12
|
70
|
Chris@12
|
71 public function getMockbuilder() {
|
Chris@12
|
72 return new Mockbuilder();
|
Chris@12
|
73 }
|
Chris@12
|
74
|
Chris@12
|
75 }
|
Chris@12
|
76
|
Chris@12
|
77 /**
|
Chris@12
|
78 * Test double for PHPUnit_Framework_MockObject_MockBuilder.
|
Chris@12
|
79 */
|
Chris@12
|
80 class Mockbuilder {
|
Chris@17
|
81
|
Chris@12
|
82 public function __call($name, $arguments) {
|
Chris@12
|
83 return $this;
|
Chris@12
|
84 }
|
Chris@12
|
85
|
Chris@12
|
86 public function getMock() {
|
Chris@12
|
87 return 'PHPUnit 6';
|
Chris@12
|
88 }
|
Chris@12
|
89
|
Chris@12
|
90 }
|
Chris@12
|
91
|
Chris@12
|
92 /**
|
Chris@12
|
93 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4.
|
Chris@12
|
94 */
|
Chris@12
|
95 class UnitTestCasePhpunit4TestClass extends Phpunit4TestClass {
|
Chris@12
|
96 use PhpunitCompatibilityTrait;
|
Chris@12
|
97
|
Chris@12
|
98 }
|
Chris@12
|
99
|
Chris@12
|
100 /**
|
Chris@12
|
101 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4.
|
Chris@12
|
102 */
|
Chris@12
|
103 class UnitTestCasePhpunit4TestClassExtends extends UnitTestCasePhpunit4TestClass {
|
Chris@12
|
104 }
|
Chris@12
|
105
|
Chris@12
|
106 /**
|
Chris@12
|
107 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6.
|
Chris@12
|
108 */
|
Chris@12
|
109 class UnitTestCasePhpunit6TestClass extends Phpunit6TestClass {
|
Chris@12
|
110 use PhpunitCompatibilityTrait;
|
Chris@12
|
111
|
Chris@12
|
112 }
|
Chris@12
|
113
|
Chris@12
|
114 /**
|
Chris@12
|
115 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6.
|
Chris@12
|
116 */
|
Chris@12
|
117 class UnitTestCasePhpunit6TestClassExtends extends UnitTestCasePhpunit6TestClass {
|
Chris@12
|
118 }
|