annotate core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\simpletest\Tests;
Chris@0 4
Chris@0 5 use Drupal\simpletest\WebTestBase;
Chris@0 6
Chris@0 7 /**
Chris@0 8 * Tests a test case with missing requirements.
Chris@0 9 *
Chris@0 10 * @group simpletest
Chris@18 11 * @group WebTestBase
Chris@0 12 */
Chris@0 13 class MissingCheckedRequirementsTest extends WebTestBase {
Chris@0 14
Chris@0 15 /**
Chris@0 16 * Modules to enable.
Chris@0 17 *
Chris@0 18 * @var array
Chris@0 19 */
Chris@0 20 public static $modules = ['simpletest'];
Chris@0 21
Chris@0 22 protected function setUp() {
Chris@0 23 parent::setUp();
Chris@0 24 $admin_user = $this->drupalCreateUser(['administer unit tests']);
Chris@0 25 $this->drupalLogin($admin_user);
Chris@0 26 }
Chris@0 27
Chris@0 28 /**
Chris@0 29 * Overrides checkRequirements().
Chris@0 30 */
Chris@0 31 protected function checkRequirements() {
Chris@0 32 if ($this->isInChildSite()) {
Chris@0 33 return [
Chris@17 34 'Test is not allowed to run.',
Chris@0 35 ];
Chris@0 36 }
Chris@0 37 return parent::checkRequirements();
Chris@0 38 }
Chris@0 39
Chris@0 40 /**
Chris@0 41 * Ensures test will not run when requirements are missing.
Chris@0 42 */
Chris@0 43 public function testCheckRequirements() {
Chris@0 44 // If this is the main request, run the web test script and then assert
Chris@0 45 // that the child tests did not run.
Chris@0 46 if (!$this->isInChildSite()) {
Chris@0 47 // Run this test from web interface.
Chris@0 48 $edit['tests[Drupal\simpletest\Tests\MissingCheckedRequirementsTest]'] = TRUE;
Chris@0 49 $this->drupalPostForm('admin/config/development/testing', $edit, t('Run tests'));
Chris@0 50 $this->assertRaw('Test is not allowed to run.', 'Test check for requirements came up.');
Chris@0 51 $this->assertNoText('Test ran when it failed requirements check.', 'Test requirements stopped test from running.');
Chris@0 52 }
Chris@0 53 else {
Chris@0 54 $this->fail('Test ran when it failed requirements check.');
Chris@0 55 }
Chris@0 56 }
Chris@0 57
Chris@0 58 }