annotate core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
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 }