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@12
|
55 public function getMock($originalClassName) {
|
Chris@12
|
56 return 'PHPUnit 4';
|
Chris@12
|
57 }
|
Chris@12
|
58
|
Chris@12
|
59 }
|
Chris@12
|
60
|
Chris@12
|
61 /**
|
Chris@12
|
62 * Test class for \PHPUnit\Framework\TestCase in PHPUnit 6.
|
Chris@12
|
63 */
|
Chris@12
|
64 class Phpunit6TestClass {
|
Chris@12
|
65 public function createMock($originalClassName) {
|
Chris@12
|
66 return 'PHPUnit 6';
|
Chris@12
|
67 }
|
Chris@12
|
68
|
Chris@12
|
69 public function getMockbuilder() {
|
Chris@12
|
70 return new Mockbuilder();
|
Chris@12
|
71 }
|
Chris@12
|
72
|
Chris@12
|
73 }
|
Chris@12
|
74
|
Chris@12
|
75 /**
|
Chris@12
|
76 * Test double for PHPUnit_Framework_MockObject_MockBuilder.
|
Chris@12
|
77 */
|
Chris@12
|
78 class Mockbuilder {
|
Chris@12
|
79 public function __call($name, $arguments) {
|
Chris@12
|
80 return $this;
|
Chris@12
|
81 }
|
Chris@12
|
82
|
Chris@12
|
83 public function getMock() {
|
Chris@12
|
84 return 'PHPUnit 6';
|
Chris@12
|
85 }
|
Chris@12
|
86
|
Chris@12
|
87 }
|
Chris@12
|
88
|
Chris@12
|
89 /**
|
Chris@12
|
90 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4.
|
Chris@12
|
91 */
|
Chris@12
|
92 class UnitTestCasePhpunit4TestClass extends Phpunit4TestClass {
|
Chris@12
|
93 use PhpunitCompatibilityTrait;
|
Chris@12
|
94
|
Chris@12
|
95 }
|
Chris@12
|
96
|
Chris@12
|
97 /**
|
Chris@12
|
98 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4.
|
Chris@12
|
99 */
|
Chris@12
|
100 class UnitTestCasePhpunit4TestClassExtends extends UnitTestCasePhpunit4TestClass {
|
Chris@12
|
101 }
|
Chris@12
|
102
|
Chris@12
|
103 /**
|
Chris@12
|
104 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6.
|
Chris@12
|
105 */
|
Chris@12
|
106 class UnitTestCasePhpunit6TestClass extends Phpunit6TestClass {
|
Chris@12
|
107 use PhpunitCompatibilityTrait;
|
Chris@12
|
108
|
Chris@12
|
109 }
|
Chris@12
|
110
|
Chris@12
|
111 /**
|
Chris@12
|
112 * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6.
|
Chris@12
|
113 */
|
Chris@12
|
114 class UnitTestCasePhpunit6TestClassExtends extends UnitTestCasePhpunit6TestClass {
|
Chris@12
|
115 }
|