class DiscardLayoutChangesFormTest
Tests the Layout Builder discard layout form.
Attributes
#[CoversClass(DiscardLayoutChangesForm::class)]
#[Group('layout_builder')]
Hierarchy
- class \Drupal\Tests\UnitTestCase uses \Drupal\Tests\DrupalTestCaseTrait, \Drupal\Tests\PhpUnitCompatibilityTrait, \Prophecy\PhpUnit\ProphecyTrait, \Drupal\TestTools\Extension\DeprecationBridge\ExpectDeprecationTrait, \Drupal\Tests\RandomGeneratorTrait extends \PHPUnit\Framework\TestCase
- class \Drupal\Tests\layout_builder\Unit\DiscardLayoutChangesFormTest extends \Drupal\Tests\UnitTestCase
Expanded class hierarchy of DiscardLayoutChangesFormTest
File
-
core/
modules/ layout_builder/ tests/ src/ Unit/ DiscardLayoutChangesFormTest.php, line 21
Namespace
Drupal\Tests\layout_builder\UnitView source
class DiscardLayoutChangesFormTest extends UnitTestCase {
/**
* Tests ::getDescription() with entity, NULL, and ContextException cases.
*/
public function testGetDescription() : void {
$container = new ContainerBuilder();
$container->set('string_translation', $this->getStringTranslationStub());
\Drupal::setContainer($container);
$form = new DiscardLayoutChangesForm($this->prophesize(LayoutTempstoreRepositoryInterface::class)
->reveal(), $this->prophesize(MessengerInterface::class)
->reveal());
$reflection = new \ReflectionProperty(DiscardLayoutChangesForm::class, 'sectionStorage');
$default = 'Any unsaved changes to the layout will be discarded. This action cannot be undone.';
// Test entity label.
$entity = $this->prophesize(EntityInterface::class);
$entity->label()
->willReturn('My Node');
$section_storage = $this->prophesize(SectionStorageInterface::class);
$section_storage->getContextValue('entity')
->willReturn($entity->reveal());
$reflection->setValue($form, $section_storage->reveal());
$this->assertSame('Any unsaved changes to the layout for <em class="placeholder">My Node</em> will be discarded. This action cannot be undone.', (string) $form->getDescription());
// Test NULL context.
$section_storage = $this->prophesize(SectionStorageInterface::class);
$section_storage->getContextValue('entity')
->willReturn(NULL);
$reflection->setValue($form, $section_storage->reveal());
$this->assertSame($default, (string) $form->getDescription());
// Test exception.
$section_storage = $this->prophesize(SectionStorageInterface::class);
$section_storage->getContextValue('entity')
->willThrow(new ContextException());
$reflection->setValue($form, $section_storage->reveal());
$this->assertSame($default, (string) $form->getDescription());
}
}
Members
| Title Sort descending | Deprecated | Modifiers | Object type | Summary | Overrides |
|---|---|---|---|---|---|
| DiscardLayoutChangesFormTest::testGetDescription | public | function | Tests ::getDescription() with entity, NULL, and ContextException cases. | ||
| DrupalTestCaseTrait::$root | protected | property | The Drupal root directory. | ||
| DrupalTestCaseTrait::checkErrorHandlerOnTearDown | public | function | Checks the test error handler after test execution. | 1 | |
| DrupalTestCaseTrait::checkLegacySymfonyDeprecationHelperEnvVariable | public | function | Checks legacy SYMFONY_DEPRECATIONS_HELPER env variable is not used. | ||
| DrupalTestCaseTrait::expectExceptionMessageIs | protected | function | Expects an exactly matching exception message. | ||
| DrupalTestCaseTrait::expectExceptionMessageIsOrContains | protected | function | Expects an exception message containing a specified string. | ||
| DrupalTestCaseTrait::getDrupalRoot | Deprecated | protected static | function | Returns the Drupal root directory. | 1 |
| DrupalTestCaseTrait::setDebugDumpHandler | public static | function | Registers the dumper CLI handler when the DebugDump extension is enabled. | ||
| DrupalTestCaseTrait::setUpRoot | final protected | function | Ensure that the $root property is set initially. | ||
| DrupalTestCaseTrait::skipTestWithAttribute | final protected | function | Supports skipping tests with the Skip attribute. | ||
| ExpectDeprecationTrait::expectDeprecation | Deprecated | public | function | Adds an expected deprecation. | |
| ExpectDeprecationTrait::regularExpressionForFormatDescription | private | function | |||
| 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. | ||
| UnitTestCase::getClassResolverStub | protected | function | Returns a stub class resolver. | ||
| UnitTestCase::getConfigFactoryStub | public | function | Returns a stub config factory that behaves according to the passed array. | ||
| UnitTestCase::getContainerWithCacheTagsInvalidator | protected | function | Sets up a container with a cache tags invalidator. | ||
| UnitTestCase::getStringTranslationStub | public | function | Returns a stub translation manager that just returns the passed string. | ||
| UnitTestCase::setUp | protected | function | 377 | ||
| UnitTestCase::setupMockIterator | protected | function | Set up a traversable class mock to return specific items when iterated. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.