Mercurial > hg > isophonics-drupal-site
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/tests/Drupal/Tests/PhpunitCompatibilityTraitTest.php Fri Feb 23 15:52:07 2018 +0000 @@ -0,0 +1,115 @@ +<?php + +namespace Drupal\Tests; + +/** + * Tests the PHPUnit forward compatibility trait. + * + * @coversDefaultClass \Drupal\Tests\PhpunitCompatibilityTrait + * @group Tests + */ +class PhpunitCompatibilityTraitTest extends UnitTestCase { + + /** + * Tests that getMock is available and calls the correct parent method. + * + * @covers ::getMock + * @dataProvider providerMockVersions + */ + public function testGetMock($className, $expected) { + $class = new $className(); + $this->assertSame($expected, $class->getMock($this->randomMachineName())); + } + + /** + * Tests that createMock is available and calls the correct parent method. + * + * @covers ::createMock + * @dataProvider providerMockVersions + */ + public function testCreateMock($className, $expected) { + $class = new $className(); + $this->assertSame($expected, $class->createMock($this->randomMachineName())); + } + + /** + * Returns the class names and the string they return. + * + * @return array + */ + public function providerMockVersions() { + return [ + [UnitTestCasePhpunit4TestClass::class, 'PHPUnit 4'], + [UnitTestCasePhpunit4TestClassExtends::class, 'PHPUnit 4'], + [UnitTestCasePhpunit6TestClass::class, 'PHPUnit 6'], + [UnitTestCasePhpunit6TestClassExtends::class, 'PHPUnit 6'], + ]; + } + +} + +/** + * Test class for \PHPUnit\Framework\TestCase in PHPUnit 4. + */ +class Phpunit4TestClass { + public function getMock($originalClassName) { + return 'PHPUnit 4'; + } + +} + +/** + * Test class for \PHPUnit\Framework\TestCase in PHPUnit 6. + */ +class Phpunit6TestClass { + public function createMock($originalClassName) { + return 'PHPUnit 6'; + } + + public function getMockbuilder() { + return new Mockbuilder(); + } + +} + +/** + * Test double for PHPUnit_Framework_MockObject_MockBuilder. + */ +class Mockbuilder { + public function __call($name, $arguments) { + return $this; + } + + public function getMock() { + return 'PHPUnit 6'; + } + +} + +/** + * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4. + */ +class UnitTestCasePhpunit4TestClass extends Phpunit4TestClass { + use PhpunitCompatibilityTrait; + +} + +/** + * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 4. + */ +class UnitTestCasePhpunit4TestClassExtends extends UnitTestCasePhpunit4TestClass { +} + +/** + * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6. + */ +class UnitTestCasePhpunit6TestClass extends Phpunit6TestClass { + use PhpunitCompatibilityTrait; + +} + +/** + * Test class for \Drupal\Tests\UnitTestCase with PHPUnit 6. + */ +class UnitTestCasePhpunit6TestClassExtends extends UnitTestCasePhpunit6TestClass { +}