annotate core/modules/simpletest/src/Tests/MissingCheckedRequirementsTest.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 129ea1e6d783
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@0 11 */
Chris@0 12 class MissingCheckedRequirementsTest extends WebTestBase {
Chris@0 13
Chris@0 14 /**
Chris@0 15 * Modules to enable.
Chris@0 16 *
Chris@0 17 * @var array
Chris@0 18 */
Chris@0 19 public static $modules = ['simpletest'];
Chris@0 20
Chris@0 21 protected function setUp() {
Chris@0 22 parent::setUp();
Chris@0 23 $admin_user = $this->drupalCreateUser(['administer unit tests']);
Chris@0 24 $this->drupalLogin($admin_user);
Chris@0 25 }
Chris@0 26
Chris@0 27 /**
Chris@0 28 * Overrides checkRequirements().
Chris@0 29 */
Chris@0 30 protected function checkRequirements() {
Chris@0 31 if ($this->isInChildSite()) {
Chris@0 32 return [
Chris@0 33 'Test is not allowed to run.'
Chris@0 34 ];
Chris@0 35 }
Chris@0 36 return parent::checkRequirements();
Chris@0 37 }
Chris@0 38
Chris@0 39 /**
Chris@0 40 * Ensures test will not run when requirements are missing.
Chris@0 41 */
Chris@0 42 public function testCheckRequirements() {
Chris@0 43 // If this is the main request, run the web test script and then assert
Chris@0 44 // that the child tests did not run.
Chris@0 45 if (!$this->isInChildSite()) {
Chris@0 46 // Run this test from web interface.
Chris@0 47 $edit['tests[Drupal\simpletest\Tests\MissingCheckedRequirementsTest]'] = TRUE;
Chris@0 48 $this->drupalPostForm('admin/config/development/testing', $edit, t('Run tests'));
Chris@0 49 $this->assertRaw('Test is not allowed to run.', 'Test check for requirements came up.');
Chris@0 50 $this->assertNoText('Test ran when it failed requirements check.', 'Test requirements stopped test from running.');
Chris@0 51 }
Chris@0 52 else {
Chris@0 53 $this->fail('Test ran when it failed requirements check.');
Chris@0 54 }
Chris@0 55 }
Chris@0 56
Chris@0 57 }