annotate core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php @ 12:7a779792577d

Update Drupal core to v8.4.5 (via Composer)
author Chris Cannam
date Fri, 23 Feb 2018 15:52:07 +0000
parents
children 129ea1e6d783
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@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 }