class DirectWriteTest
@covers \Drupal\package_manager\EventSubscriber\DirectWriteSubscriber @covers \Drupal\package_manager\SandboxManagerBase::isDirectWrite
@group package_manager
Hierarchy
- class \Drupal\KernelTests\KernelTestBase extends \PHPUnit\Framework\TestCase implements \Drupal\Core\DependencyInjection\ServiceProviderInterface uses \Drupal\KernelTests\AssertContentTrait, \Drupal\Tests\RandomGeneratorTrait, \Drupal\Tests\ConfigTestTrait, \Drupal\Tests\ExtensionListTestTrait, \Drupal\Tests\TestRequirementsTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait
- class \Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase extends \Drupal\KernelTests\KernelTestBase uses \Drupal\Tests\package_manager\Traits\AssertPreconditionsTrait, \Drupal\Tests\package_manager\Traits\ComposerStagerTestTrait, \Drupal\Tests\package_manager\Traits\FixtureManipulatorTrait, \Drupal\Tests\package_manager\Traits\FixtureUtilityTrait, \Drupal\package_manager\StatusCheckTrait, \Drupal\Tests\package_manager\Traits\ValidationTestTrait
- class \Drupal\Tests\package_manager\Kernel\DirectWriteTest extends \Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase implements \Symfony\Component\EventDispatcher\EventSubscriberInterface uses \Drupal\package_manager\StatusCheckTrait, \Drupal\Core\StringTranslation\StringTranslationTrait
- class \Drupal\Tests\package_manager\Kernel\PackageManagerKernelTestBase extends \Drupal\KernelTests\KernelTestBase uses \Drupal\Tests\package_manager\Traits\AssertPreconditionsTrait, \Drupal\Tests\package_manager\Traits\ComposerStagerTestTrait, \Drupal\Tests\package_manager\Traits\FixtureManipulatorTrait, \Drupal\Tests\package_manager\Traits\FixtureUtilityTrait, \Drupal\package_manager\StatusCheckTrait, \Drupal\Tests\package_manager\Traits\ValidationTestTrait
Expanded class hierarchy of DirectWriteTest
File
-
core/
modules/ package_manager/ tests/ src/ Kernel/ DirectWriteTest.php, line 30
Namespace
Drupal\Tests\package_manager\KernelView source
class DirectWriteTest extends PackageManagerKernelTestBase implements EventSubscriberInterface {
use StatusCheckTrait;
use StringTranslationTrait;
/**
* Whether we are in maintenance mode before a require operation.
*
* @var bool|null
*
* @see ::onPreRequire()
*/
private ?bool $preRequireMaintenanceMode = NULL;
/**
* Whether we are in maintenance mode after a require operation.
*
* @var bool|null
*
* @see ::onPostRequire()
*/
private ?bool $postRequireMaintenanceMode = NULL;
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents() : array {
return [
// The pre-require and post-require listeners need to run after
// \Drupal\package_manager\EventSubscriber\DirectWriteSubscriber.
PreRequireEvent::class => [
'onPreRequire',
-10001,
],
PostRequireEvent::class => [
'onPostRequire',
9999,
],
PreApplyEvent::class => 'assertNotDirectWrite',
];
}
/**
* {@inheritdoc}
*/
protected function setUp() : void {
parent::setUp();
$this->container
->get(EventDispatcherInterface::class)
->addSubscriber($this);
}
/**
* Event listener that asserts the sandbox manager isn't in direct-write mode.
*
* @param \Drupal\package_manager\Event\SandboxEvent $event
* The event being handled.
*/
public function assertNotDirectWrite(SandboxEvent $event) : void {
$this->assertFalse($event->sandboxManager
->isDirectWrite());
}
/**
* Event listener that records the maintenance mode flag on pre-require.
*/
public function onPreRequire() : void {
$this->preRequireMaintenanceMode = (bool) $this->container
->get(StateInterface::class)
->get('system.maintenance_mode');
}
/**
* Event listener that records the maintenance mode flag on post-require.
*/
public function onPostRequire() : void {
$this->postRequireMaintenanceMode = (bool) $this->container
->get(StateInterface::class)
->get('system.maintenance_mode');
}
/**
* Tests that direct-write does not work if it is globally disabled.
*/
public function testSiteSandboxedIfDirectWriteGloballyDisabled() : void {
// Even if we use a sandbox manager that supports direct write, it should
// not be enabled.
$sandbox_manager = $this->createStage(TestDirectWriteSandboxManager::class);
$logger = new TestLogger();
$sandbox_manager->setLogger($logger);
$this->assertFalse($sandbox_manager->isDirectWrite());
$sandbox_manager->create();
$this->assertTrue($sandbox_manager->sandboxDirectoryExists());
$this->assertNotSame($this->container
->get(PathLocator::class)
->getProjectRoot(), $sandbox_manager->getSandboxDirectory());
$this->assertFalse($logger->hasRecords('info'));
}
/**
* Tests direct-write mode when globally enabled.
*/
public function testSiteNotSandboxedIfDirectWriteGloballyEnabled() : void {
$mock_beginner = $this->createMock(BeginnerInterface::class);
$mock_beginner->expects($this->never())
->method('begin')
->withAnyParameters();
$this->container
->set(BeginnerInterface::class, $mock_beginner);
$mock_committer = $this->createMock(CommitterInterface::class);
$mock_committer->expects($this->never())
->method('commit')
->withAnyParameters();
$this->container
->set(CommitterInterface::class, $mock_committer);
$this->setSetting('package_manager_allow_direct_write', TRUE);
$sandbox_manager = $this->createStage(TestDirectWriteSandboxManager::class);
$logger = new TestLogger();
$sandbox_manager->setLogger($logger);
$this->assertTrue($sandbox_manager->isDirectWrite());
// A status check should flag a warning about running in direct-write mode.
$expected_results = [
ValidationResult::createWarning([
$this->t('Direct-write mode is enabled, which means that changes will be made without sandboxing them first. This can be risky and is not recommended for production environments. For safety, your site will be put into maintenance mode while dependencies are updated.'),
]),
];
$actual_results = $this->runStatusCheck($sandbox_manager);
$this->assertValidationResultsEqual($expected_results, $actual_results);
$sandbox_manager->create();
// In direct-write mode, the active and sandbox directories are the same.
$this->assertTrue($sandbox_manager->sandboxDirectoryExists());
$this->assertSame($this->container
->get(PathLocator::class)
->getProjectRoot(), $sandbox_manager->getSandboxDirectory());
// Do a require operation so we can assert that we are kicked into, and out
// of, maintenance mode.
$sandbox_manager->require([
'ext-json:*',
]);
$this->assertTrue($this->preRequireMaintenanceMode);
$this->assertFalse($this->postRequireMaintenanceMode);
$sandbox_manager->apply();
$sandbox_manager->postApply();
// Destroying the sandbox should not populate the clean-up queue.
$sandbox_manager->destroy();
/** @var \Drupal\Core\Queue\QueueInterface $queue */
$queue = $this->container
->get(QueueFactory::class)
->get('package_manager_cleanup');
$this->assertSame(0, $queue->numberOfItems());
$records = $logger->recordsByLevel['info'];
$this->assertCount(2, $records);
$this->assertSame('Direct-write is enabled. Skipping sandboxing.', (string) $records[0]['message']);
$this->assertSame('Direct-write is enabled. Changes have been made to the running code base.', (string) $records[1]['message']);
// A sandbox manager that doesn't support direct-write should not be
// influenced by the setting.
$this->assertFalse($this->createStage()
->isDirectWrite());
}
/**
* Tests that pre-require errors prevent maintenance mode during direct-write.
*/
public function testMaintenanceModeNotEnteredIfErrorOnPreRequire() : void {
$this->setSetting('package_manager_allow_direct_write', TRUE);
// Sanity check: we shouldn't be in maintenance mode to begin with.
$state = $this->container
->get(StateInterface::class);
$this->assertEmpty($state->get('system.maintenance_mode'));
// Set up an event subscriber which will flag an error.
$this->container
->get(EventDispatcherInterface::class)
->addListener(PreRequireEvent::class, function (PreRequireEvent $event) : void {
$event->addError([
$this->t('Maintenance mode should not happen.'),
]);
});
$sandbox_manager = $this->createStage(TestDirectWriteSandboxManager::class);
$sandbox_manager->create();
try {
$sandbox_manager->require([
'ext-json:*',
]);
$this->fail('Expected an exception to be thrown on pre-require.');
} catch (SandboxEventException $e) {
$this->assertSame("Maintenance mode should not happen.\n", $e->getMessage());
// We should never have entered maintenance mode.
$this->assertFalse($this->preRequireMaintenanceMode);
// Sanity check: the post-require event should never have been dispatched.
$this->assertNull($this->postRequireMaintenanceMode);
}
}
/**
* Tests that the sandbox's direct-write status is part of its locking info.
*/
public function testDirectWriteFlagIsLocked() : void {
$this->setSetting('package_manager_allow_direct_write', TRUE);
$sandbox_manager = $this->createStage(TestDirectWriteSandboxManager::class);
$this->assertTrue($sandbox_manager->isDirectWrite());
$sandbox_manager->create();
$this->setSetting('package_manager_allow_direct_write', FALSE);
$this->assertTrue($sandbox_manager->isDirectWrite());
// Only once the sandbox is destroyed should the sandbox manager reflect the
// changed setting.
$sandbox_manager->destroy();
$this->assertFalse($sandbox_manager->isDirectWrite());
}
}
Members
Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|---|
AssertContentTrait::$content | protected | property | The current raw content. | |||
AssertContentTrait::$drupalSettings | protected | property | The drupalSettings value from the current raw $content. | |||
AssertContentTrait::$elements | protected | property | The XML structure parsed from the current raw $content. | 1 | ||
AssertContentTrait::$plainTextContent | protected | property | The plain-text content of raw $content (text nodes). | |||
AssertContentTrait::assertEscaped | protected | function | Passes if the raw text IS found escaped on the loaded page, fail otherwise. | |||
AssertContentTrait::assertField | protected | function | Asserts that a field exists with the given name or ID. | |||
AssertContentTrait::assertFieldById | Deprecated | protected | function | Asserts that a field exists with the given ID and value. | ||
AssertContentTrait::assertFieldByName | protected | function | Asserts that a field exists with the given name and value. | |||
AssertContentTrait::assertFieldByXPath | protected | function | Asserts that a field exists in the current page by the given XPath. | |||
AssertContentTrait::assertFieldChecked | Deprecated | protected | function | Asserts that a checkbox field in the current page is checked. | ||
AssertContentTrait::assertFieldsByValue | protected | function | Asserts that a field exists in the current page with a given Xpath result. | |||
AssertContentTrait::assertLink | protected | function | Passes if a link with the specified label is found. | |||
AssertContentTrait::assertLinkByHref | protected | function | Passes if a link containing a given href (part) is found. | |||
AssertContentTrait::assertNoDuplicateIds | Deprecated | protected | function | Asserts that each HTML ID is used for just a single element. | ||
AssertContentTrait::assertNoEscaped | protected | function | Passes if raw text IS NOT found escaped on loaded page, fail otherwise. | |||
AssertContentTrait::assertNoField | Deprecated | protected | function | Asserts that a field does not exist with the given name or ID. | ||
AssertContentTrait::assertNoFieldById | Deprecated | protected | function | Asserts that a field does not exist with the given ID and value. | ||
AssertContentTrait::assertNoFieldByName | Deprecated | protected | function | Asserts that a field does not exist with the given name and value. | ||
AssertContentTrait::assertNoFieldByXPath | Deprecated | protected | function | Asserts that a field does not exist or its value does not match, by XPath. | ||
AssertContentTrait::assertNoFieldChecked | Deprecated | protected | function | Asserts that a checkbox field in the current page is not checked. | ||
AssertContentTrait::assertNoLink | protected | function | Passes if a link with the specified label is not found. | |||
AssertContentTrait::assertNoLinkByHref | Deprecated | protected | function | Passes if a link containing a given href (part) is not found. | ||
AssertContentTrait::assertNoLinkByHrefInMainRegion | Deprecated | protected | function | Passes if a link containing a given href is not found in the main region. | ||
AssertContentTrait::assertNoOption | Deprecated | protected | function | Asserts that a select option in the current page does not exist. | ||
AssertContentTrait::assertNoOptionSelected | Deprecated | protected | function | Asserts that a select option in the current page is not checked. | ||
AssertContentTrait::assertNoPattern | protected | function | Triggers a pass if the perl regex pattern is not found in raw content. | |||
AssertContentTrait::assertNoRaw | protected | function | Passes if the raw text is NOT found on the loaded page, fail otherwise. | |||
AssertContentTrait::assertNoText | protected | function | Passes if the page (with HTML stripped) does not contains the text. | |||
AssertContentTrait::assertNoTitle | protected | function | Pass if the page title is not the given string. | |||
AssertContentTrait::assertNoUniqueText | Deprecated | protected | function | Passes if the text is found MORE THAN ONCE on the text version of the page. | ||
AssertContentTrait::assertOption | protected | function | Asserts that a select option in the current page exists. | |||
AssertContentTrait::assertOptionByText | Deprecated | protected | function | Asserts that a select option with the visible text exists. | ||
AssertContentTrait::assertOptionSelected | Deprecated | protected | function | Asserts that a select option in the current page is checked. | ||
AssertContentTrait::assertOptionSelectedWithDrupalSelector | Deprecated | protected | function | Asserts that a select option in the current page is checked. | ||
AssertContentTrait::assertOptionWithDrupalSelector | protected | function | Asserts that a select option in the current page exists. | |||
AssertContentTrait::assertPattern | protected | function | Triggers a pass if the Perl regex pattern is found in the raw content. | |||
AssertContentTrait::assertRaw | protected | function | Passes if the raw text IS found on the loaded page, fail otherwise. | |||
AssertContentTrait::assertText | protected | function | Passes if the page (with HTML stripped) contains the text. | |||
AssertContentTrait::assertTextHelper | protected | function | Helper for assertText and assertNoText. | |||
AssertContentTrait::assertTextPattern | Deprecated | protected | function | Asserts that a Perl regex pattern is found in the plain-text content. | ||
AssertContentTrait::assertThemeOutput | protected | function | Asserts themed output. | |||
AssertContentTrait::assertTitle | protected | function | Pass if the page title is the given string. | |||
AssertContentTrait::assertUniqueText | Deprecated | protected | function | Passes if the text is found ONLY ONCE on the text version of the page. | ||
AssertContentTrait::assertUniqueTextHelper | Deprecated | protected | function | Helper for assertUniqueText and assertNoUniqueText. | ||
AssertContentTrait::buildXPathQuery | protected | function | Builds an XPath query. | |||
AssertContentTrait::constructFieldXpath | protected | function | Helper: Constructs an XPath for the given set of attributes and value. | |||
AssertContentTrait::cssSelect | protected | function | Searches elements using a CSS selector in the raw content. | |||
AssertContentTrait::getAllOptions | protected | function | Get all option elements, including nested options, in a select. | |||
AssertContentTrait::getDrupalSettings | protected | function | Gets the value of drupalSettings for the currently-loaded page. | |||
AssertContentTrait::getRawContent | protected | function | Gets the current raw content. | |||
AssertContentTrait::getSelectedItem | protected | function | Get the selected value from a select field. | |||
AssertContentTrait::getTextContent | protected | function | Retrieves the plain-text content from the current raw content. | |||
AssertContentTrait::parse | protected | function | Parse content returned from curlExec using DOM and SimpleXML. | |||
AssertContentTrait::removeWhiteSpace | protected | function | Removes all white-space between HTML tags from the raw content. | |||
AssertContentTrait::setDrupalSettings | protected | function | Sets the value of drupalSettings for the currently-loaded page. | |||
AssertContentTrait::setRawContent | protected | function | Sets the raw content (e.g. HTML). | |||
AssertContentTrait::xpath | protected | function | Performs an xpath search on the contents of the internal browser. | |||
AssertPreconditionsTrait::assertNoFailureMarker | private static | function | Asserts that there is no failure marker present. | |||
AssertPreconditionsTrait::failIfUnmetPreConditions | protected static | function | Asserts universal test preconditions before any setup is done. | |||
AssertPreconditionsTrait::getProjectRoot | private static | function | Returns the absolute path of the project root. | |||
AssertPreconditionsTrait::setUpBeforeClass | public static | function | Invokes the test preconditions assertion before the first test is run. | |||
ComposerStagerTestTrait::createComposeStagerMessage | protected | function | Creates a Composer Stager translatable message. | |||
ConfigTestTrait::configImporter | protected | function | Returns a ConfigImporter object to import test configuration. | |||
ConfigTestTrait::copyConfig | protected | function | Copies configuration objects from source storage to target storage. | |||
DirectWriteTest::$postRequireMaintenanceMode | private | property | Whether we are in maintenance mode after a require operation. | |||
DirectWriteTest::$preRequireMaintenanceMode | private | property | Whether we are in maintenance mode before a require operation. | |||
DirectWriteTest::assertNotDirectWrite | public | function | Event listener that asserts the sandbox manager isn't in direct-write mode. | |||
DirectWriteTest::getSubscribedEvents | public static | function | ||||
DirectWriteTest::onPostRequire | public | function | Event listener that records the maintenance mode flag on post-require. | |||
DirectWriteTest::onPreRequire | public | function | Event listener that records the maintenance mode flag on pre-require. | |||
DirectWriteTest::setUp | protected | function | Overrides PackageManagerKernelTestBase::setUp | |||
DirectWriteTest::testDirectWriteFlagIsLocked | public | function | Tests that the sandbox's direct-write status is part of its locking info. | |||
DirectWriteTest::testMaintenanceModeNotEnteredIfErrorOnPreRequire | public | function | Tests that pre-require errors prevent maintenance mode during direct-write. | |||
DirectWriteTest::testSiteNotSandboxedIfDirectWriteGloballyEnabled | public | function | Tests direct-write mode when globally enabled. | |||
DirectWriteTest::testSiteSandboxedIfDirectWriteGloballyDisabled | public | function | Tests that direct-write does not work if it is globally disabled. | |||
ExpectDeprecationTrait::expectDeprecation | public | function | Adds an expected deprecation. | |||
ExpectDeprecationTrait::setUpErrorHandler | public | function | Sets up the test error handler. | |||
ExpectDeprecationTrait::tearDownErrorHandler | public | function | Tears down the test error handler. | |||
ExtensionListTestTrait::getModulePath | protected | function | Gets the path for the specified module. | |||
ExtensionListTestTrait::getThemePath | protected | function | Gets the path for the specified theme. | |||
FixtureManipulatorTrait::getStageFixtureManipulator | protected | function | Gets the stage fixture manipulator service. | |||
FixtureUtilityTrait::copyFixtureFilesTo | protected static | function | Mirrors a fixture directory to the given path. | |||
FixtureUtilityTrait::renameGitDirectories | private static | function | Renames _git directories to .git. | |||
FixtureUtilityTrait::renameInfoYmlFiles | protected static | function | Renames all files that end with .info.yml.hide. | |||
KernelTestBase::$classLoader | protected | property | ||||
KernelTestBase::$configImporter | protected | property | @todo Move into Config test base class. | 6 | ||
KernelTestBase::$configSchemaCheckerExclusions | protected static | property | An array of config object names that are excluded from schema checking. | 4 | ||
KernelTestBase::$container | protected | property | ||||
KernelTestBase::$databasePrefix | protected | property | ||||
KernelTestBase::$keyValue | protected | property | The key_value service that must persist between container rebuilds. | |||
KernelTestBase::$root | protected | property | The app root. | |||
KernelTestBase::$siteDirectory | protected | property | ||||
KernelTestBase::$strictConfigSchema | protected | property | Set to TRUE to strict check all configuration saved. | 10 | ||
KernelTestBase::$usesSuperUserAccessPolicy | protected | property | Set to TRUE to make user 1 a super user. | 2 | ||
KernelTestBase::$vfsRoot | protected | property | The virtual filesystem root directory. | |||
KernelTestBase::assertPostConditions | protected | function | 1 | |||
KernelTestBase::bootEnvironment | protected | function | Bootstraps a basic test environment. | |||
KernelTestBase::bootKernel | protected | function | Bootstraps a kernel for a test. | 1 | ||
KernelTestBase::config | protected | function | Configuration accessor for tests. Returns non-overridden configuration. | |||
KernelTestBase::disableModules | protected | function | Disables modules for this test. | |||
KernelTestBase::getConfigSchemaExclusions | protected | function | Gets the config schema exclusions for this test. | |||
KernelTestBase::getDatabaseConnectionInfo | protected | function | Returns the Database connection info to be used for this test. | 2 | ||
KernelTestBase::getDatabasePrefix | public | function | ||||
KernelTestBase::getExtensionsForModules | private | function | Returns Extension objects for $modules to install. | |||
KernelTestBase::getModulesToEnable | private static | function | Returns the modules to install for this test. | |||
KernelTestBase::initFileCache | protected | function | Initializes the FileCache component. | |||
KernelTestBase::installConfig | protected | function | Installs default configuration for a given list of modules. | |||
KernelTestBase::installEntitySchema | protected | function | Installs the storage schema for a specific entity type. | |||
KernelTestBase::installSchema | protected | function | Installs database tables from a module schema definition. | |||
KernelTestBase::render | protected | function | Renders a render array. | 1 | ||
KernelTestBase::setDebugDumpHandler | public static | function | Registers the dumper CLI handler when the DebugDump extension is enabled. | |||
KernelTestBase::setInstallProfile | protected | function | Sets the install profile and rebuilds the container to update it. | |||
KernelTestBase::setSetting | protected | function | Sets an in-memory Settings variable. | |||
KernelTestBase::setUpFilesystem | protected | function | Sets up the filesystem, so things like the file directory. | 3 | ||
KernelTestBase::tearDownCloseDatabaseConnection | public | function | Additional tear down method to close the connection at the end. | |||
KernelTestBase::vfsDump | protected | function | Dumps the current state of the virtual filesystem to STDOUT. | |||
KernelTestBase::__construct | public | function | ||||
KernelTestBase::__sleep | public | function | Prevents serializing any properties. | |||
PackageManagerKernelTestBase::$client | private | property | The mocked HTTP client that returns metadata about available updates. | |||
PackageManagerKernelTestBase::$disableValidators | protected | property | The service IDs of any validators to disable. | |||
PackageManagerKernelTestBase::$failureLogger | protected | property | A logger that will fail the test if Package Manager logs any errors. | |||
PackageManagerKernelTestBase::$fileSystem | private | property | The Symfony filesystem class. | |||
PackageManagerKernelTestBase::$modules | protected static | property | Modules to install. | Overrides KernelTestBase::$modules | 7 | |
PackageManagerKernelTestBase::$testProjectRoot | protected | property | The test root directory, if any, created by ::createTestProject(). | |||
PackageManagerKernelTestBase::addEventTestListener | protected | function | Adds an event listener on an event for testing purposes. | |||
PackageManagerKernelTestBase::assertEventPropagationStopped | protected | function | Asserts event propagation is stopped by a certain event subscriber. | |||
PackageManagerKernelTestBase::assertExpectedResultsFromException | protected | function | Asserts that a StageEventException has a particular set of results. | |||
PackageManagerKernelTestBase::assertResults | protected | function | Asserts validation results are returned from a stage life cycle event. | |||
PackageManagerKernelTestBase::assertStatusCheckResults | protected | function | Asserts validation results are returned from the status check event. | |||
PackageManagerKernelTestBase::createStage | protected | function | Creates a stage object for testing purposes. | |||
PackageManagerKernelTestBase::createTestProject | protected | function | Creates a test project. | 1 | ||
PackageManagerKernelTestBase::enableModules | protected | function | Enables modules for this test. | Overrides KernelTestBase::enableModules | ||
PackageManagerKernelTestBase::register | public | function | Registers test-specific services. | Overrides KernelTestBase::register | 11 | |
PackageManagerKernelTestBase::registerPostUpdateFunctions | protected | function | Marks all pending post-update functions as completed. | |||
PackageManagerKernelTestBase::setCoreVersion | protected | function | Sets the current (running) version of core for the Update Status module. | |||
PackageManagerKernelTestBase::setReleaseMetadata | protected | function | Sets the release metadata file to use when fetching available updates. | |||
PackageManagerKernelTestBase::tearDown | protected | function | Invokes the test preconditions assertion after each test run. | Overrides AssertPreconditionsTrait::tearDown | 2 | |
RandomGeneratorTrait::getRandomGenerator | protected | function | Gets the random generator for the utility methods. | |||
RandomGeneratorTrait::randomMachineName | protected | function | Generates a unique random string containing letters and numbers. | |||
RandomGeneratorTrait::randomObject | public | function | Generates a random PHP object. | |||
RandomGeneratorTrait::randomString | public | function | Generates a pseudo-random string of ASCII characters of codes 32 to 126. | |||
StatusCheckTrait::runStatusCheck | protected | function | Runs a status check for a stage and returns the results, if any. | |||
StorageCopyTrait::replaceStorageContents | protected static | function | Copy the configuration from one storage to another and remove stale items. | |||
StringTranslationTrait::$stringTranslation | protected | property | The string translation service. | 3 | ||
StringTranslationTrait::formatPlural | protected | function | Formats a string containing a count of items. | |||
StringTranslationTrait::getNumberOfPlurals | protected | function | Returns the number of plurals supported by a given language. | |||
StringTranslationTrait::getStringTranslation | protected | function | Gets the string translation service. | |||
StringTranslationTrait::setStringTranslation | public | function | Sets the string translation service to use. | 2 | ||
StringTranslationTrait::t | protected | function | Translates a string to the current language or to a given language. | 1 | ||
TestRequirementsTrait::getDrupalRoot | protected static | function | Returns the Drupal root directory. | |||
ValidationTestTrait::assertValidationResultsEqual | protected | function | Asserts two validation result sets are equal. | |||
ValidationTestTrait::getValidationResultsAsArray | protected | function | Gets an array representation of validation results for easy comparison. | |||
ValidationTestTrait::resolvePlaceholdersInArrayValuesWithRealPaths | protected | function | Resolves <PROJECT_ROOT>, <VENDOR_DIR>, <STAGE_ROOT>, <STAGE_ROOT_PARENT>. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.