SimpletestDeprecationTest.php
Namespace
Drupal\Tests\simpletest\KernelFile
-
core/
modules/ simpletest/ tests/ src/ Kernel/ SimpletestDeprecationTest.php
View source
<?php
namespace Drupal\Tests\simpletest\Kernel;
use Drupal\KernelTests\KernelTestBase;
use Drupal\simpletest\TestDiscovery;
/**
* Verify deprecations within the simpletest module.
*
* @group simpletest
* @group legacy
*/
class SimpletestDeprecationTest extends KernelTestBase {
public static $modules = [
'simpletest',
];
/**
* @expectedDeprecation The simpletest_phpunit_configuration_filepath function is deprecated since version 8.4.x and will be removed in 9.0.0.
* @expectedDeprecation The simpletest_test_get_all function is deprecated in version 8.3.x and will be removed in 9.0.0. Use \Drupal::service('test_discovery')->getTestClasses($extension, $types) instead.
* @expectedDeprecation The simpletest_classloader_register function is deprecated in version 8.3.x and will be removed in 9.0.0. Use \Drupal::service('test_discovery')->registerTestNamespaces() instead.
*/
public function testDeprecatedFunctions() {
$this->assertNotEmpty(simpletest_phpunit_configuration_filepath());
$this->assertNotEmpty(simpletest_test_get_all());
simpletest_classloader_register();
}
/**
* @expectedDeprecation Drupal\simpletest\TestDiscovery is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\TestDiscovery instead. See https://www.drupal.org/node/2949692
* @expectedDeprecation The "test_discovery" service relies on the deprecated "Drupal\simpletest\TestDiscovery" class. It should either be deprecated or its implementation upgraded.
*/
public function testDeprecatedServices() {
$this->assertInstanceOf(TestDiscovery::class, $this->container
->get('test_discovery'));
}
/**
* @expectedDeprecation simpletest_phpunit_xml_filepath is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\PhpUnitTestRunner::xmlLogFilepath() instead. See https://www.drupal.org/node/2948547
* @expectedDeprecation simpletest_phpunit_command is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\PhpUnitTestRunner::phpUnitCommand() instead. See https://www.drupal.org/node/2948547
* @expectedDeprecation simpletest_phpunit_find_testcases is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\JUnitConverter::findTestCases() instead. See https://www.drupal.org/node/2948547
* @expectedDeprecation simpletest_phpunit_testcase_to_row is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\JUnitConverter::convertTestCaseToSimpletestRow() instead. See https://www.drupal.org/node/2948547
* @expectedDeprecation simpletest_summarize_phpunit_result is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\PhpUnitTestRunner::summarizeResults() instead. See https://www.drupal.org/node/2948547
*/
public function testDeprecatedPhpUnitFunctions() {
// We can't test the deprecation errors for the following functions because
// they cannot be mocked, and calling them would change the test results:
// - simpletest_run_phpunit_tests().
// - simpletest_phpunit_run_command().
// - simpletest_phpunit_xml_to_rows().
$this->assertStringEndsWith('/phpunit-23.xml', simpletest_phpunit_xml_filepath(23));
$this->assertInternalType('string', simpletest_phpunit_command());
$this->assertEquals([], simpletest_phpunit_find_testcases(new \SimpleXMLElement('<not_testcase></not_testcase>')));
$this->assertEquals([
'test_id' => 23,
'test_class' => '',
'status' => 'pass',
'message' => '',
'message_group' => 'Other',
'function' => '->()',
'line' => 0,
'file' => NULL,
], simpletest_phpunit_testcase_to_row(23, new \SimpleXMLElement('<not_testcase></not_testcase>')));
$this->assertEquals([
static::class => [
'#pass' => 0,
'#fail' => 0,
'#exception' => 0,
'#debug' => 1,
],
], simpletest_summarize_phpunit_result([
[
'test_class' => static::class,
'status' => 'debug',
],
]));
}
/**
* @expectedDeprecation simpletest_generate_file() is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Tests\TestFileCreationTrait::generateFile() instead. See https://www.drupal.org/node/3077768
*/
public function testDeprecatedSimpletestGenerateFile() {
$file = simpletest_generate_file('foo', 40, 10);
$public_file = 'public://' . $file . '.txt';
$this->assertFileExists($public_file);
$this->assertTrue(unlink($public_file));
}
/**
* @expectedDeprecation simpletest_process_phpunit_results() is deprecated in drupal:8.8.0 and is removed from drupal:9.0.0. Use \Drupal\Core\Test\TestDatabase::processPhpUnitResults() instead. See https://www.drupal.org/node/3075252
*/
public function testProcessPhpUnitResults() {
// The only safe way to test this deprecation is to call it with an empty
// result set. This should not touch the results database.
$this->assertNull(simpletest_process_phpunit_results([]));
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
SimpletestDeprecationTest | Verify deprecations within the simpletest module. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.